Python Socket 网络连接
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)
socket和file的区别:
- file模块是针对某个指定文件进行【打开】【读写】【关闭】
- socket模块是针对 服务器端 和 客户端Socket 进行【打开】【读写】【关闭】

1 socket 服务端 的 一个例子: 2 3 4 import socket 5 6 ip_port = ('127.0.0.1', 9999) # IP 与 端口,在一个 元组里面 7 8 sk = socket.socket() # socket 默认是 tcp 协议 9 sk.bind(ip_port) # 绑定 IP 与 端口 10 sk.listen(5) # 服务端最大连接数 11 12 while True: 13 print('等待连接....') 14 conn,addr = sk.accept() #accpet 返回两个变量 conn 是客户端连接过来时创建的实例。addr 是客户端的IP地址。 15 print('客户段连接IP ', addr) #当客户端连接过来时,打印 客户端的IP地址。 16 client_data = conn.recv(1024) # client_data 这个变量等于 客户端发送的数据 (1024) = 1K 。 17 print(str(client_data,'utf8')) # 打印客户端发送过来的信息,因为是中文所以python 3.0 中要使用 str 来声明 utf8 18 conn.sendall(bytes('服务端发来消息...','utf8')) # 发送这条信息到客户端,python 3.0 要使用 bytes 来发送, 并声明 utf8 19 conn.close() # 关闭 这次连接,只是关闭连接,不是退出程序。
1 socket 客户端的一个例子: 2 3 4 import socket 5 6 ip_port = ('127.0.0.1', 9999) # IP 与 端口,在一个 元组里面 7 sk = socket.socket() # socket 默认是 tcp 协议 8 sk.connect(ip_port) # 连接服务端 IP 与 端口 9 10 sk.sendall(bytes('客户端发来消息....','utf8')) # 发送这条信息到服务端,python 3.0 要使用 bytes 来发送, 并声明 utf8 11 server_reply = sk.recv(1024) # server_reply 这个变量等于 客户端发送的数据 (1024) = 1K 。 12 print(str(server_reply,'utf8')) # 打印服务端发送过来的信息,因为是中文所以python 3.0 中要使用 str 来声明 utf8 13 sk.close() # 关闭连接

浙公网安备 33010602011771号