网络也是IO的一种,在Python中socket
模块专门用来处理网络操作的。
socket通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过”套接字”向网络发出请求或者应答网络请求。
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)。
hello world
我们来看一下最简单的socket
客户端和服务端的代码,来对socket
编程有一个基本的概念
服务端
#!/usr/bin/env python3
# coding:utf-8
'''
Created on: 2018年8月13日
@author: lixuesong
Email: 247****687@qq.com
Version: 1.0
Description: socket演示程序,服务端
Help:
'''
if __name__ == '__main__':
import socket # 导入socket模块
ip_port = ('127.0.0.1', 9000) # 定义监听端口和IP地址
sk = socket.socket() # 创建socket对象
sk.bind(ip_port) # 绑定IP地址和端口
sk.listen(5) # 开始监听
print('server is waiting ...')
while True:
conn, addr = sk.accept() # 等待接收客户端请求
client_data = conn.recv(1024) # 接收数据
print(str(client_data, 'utf8'))
conn.send(bytes('你是猪吗', 'utf8')) # 向客户端发送消息
conn.close() # 关闭连接
客户端