python Tcp创建服务端和客户端
文章目录
- python Tcp创建服务端和客户端
- 使用socket进行tcp服务端创建流程
-
- 使用socket进行tcp客户端创建流程
-
使用socket进行tcp服务端创建流程
举例
import socket
# 创建套接字
sockfd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定本机地址和端口
sockfd.bind(('127.0.0.1', 8888))
# 设置监听队列
sockfd.listen(5)
# 阻塞连接本机的程序
connfd, addr = sockfd.accept()
print("Connected to", addr)
# 设置接收数据的大小
data = connfd.recv(1024)
print("Data: %s" % data.decode('utf-8'))
# 返回给对方数据
n = connfd.send(b'Thanks for using')
connfd.close()
sockfd.close()
- 特别注意,传输的数据均为byts类型
- 特别注意绑定的服务端的ip和端口是以元组的形式创建
- connfd, addr = sockfd.accept()中connfd接收客户端发来的数据,addr接收连接的客户端的地址
- connfd, addr = sockfd.accept()阻塞详解
这条语句对应多个客户端,每当有一个客户端连接服务端,这条语句就会新分配一个connfd去服务连接的客户端。
使用socket进行tcp客户端创建流程
举例
import socket
# 创建套接字
sockd = socket.socket()
# 设置连接到的服务端的ip和端口号
sockd_addr = ('127.0.0.1', 8888)
# 连接服务端
sockd.connect(sockd_addr)
# 向服务端发送内容
sockd.send("hello".encode())
# 设置客户端接收数据的大小
data = sockd.recv(1024)
# 打印接收内容
print(data.decode())
# 关闭套接字
sockd.close()
- 注意设置服务端的ip和端口是以元组的形式创建