python实现tcp协议的服务端与客户端
2017-08-01 本文已影响45人
Oo晨晨oO
服务端(server)
python使用socket实现tcp协议的服务端,有以下几个步骤
- 创建socket
- 绑定端口
- 开启监听
- 接收信息(recv)
from socket import *
# 创建socket
serverSocket = socket(AF_INET, SOCK_STREAM)
# 绑定端口
serverSocket.bind(("", 8899))
# 开启监听
serverSocket.listen(5)
# 接收信息(得到新的socket和客户端的IP与端口号)
clientSocket, clientInfo = serverSocket.accept()
# 这里使用recv, 与UDP协议的recvfrom不同
recvData = clientSocket.recv(1024)
print("%s : %s"%(str(clientInfo), recvData))
clientSocket.close()
serverSocket.close()
客户端(client)
pyhton使用socket实现tcp协议的客户端,步骤如下:
- 创建socket
- 设置要发送的服务器的IP与端口
- 连接服务器(connect)
- 发送,接收数据(send, recv)
from socket import *
clientSocket = socket(AF_INET, SOCK_STREAM)
serverAdd = ("192.168.20.25", 7788)
clientSocket.connect(serverAdd)
clientSocket.send("哈哈哈".encode("gb2312"))
recvData = clientSocket.recv(1024)
print("%s"%(recvData.decode("gb2312")))
注意: tcp协议中, 只有一开始连接才需要写上目的服务器的ip和端口号, 连接成功之后直接使用send和recv来直接发送接收数据, 不需要再写ip与端口号了