服务器端代码:
import socket
print('我是服务端!')
HOST = ''
PORT = 50007
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建TCP socket对象
s.bind((HOST, PORT)) # 绑定地址
s.listen(1) # 监听TCP,1代表:操作系统可以挂起(未处理请求时等待状态)的最大连接数量。该值至少为1
conn, addr = s.accept() # 开始被动接受TCP客户端的连接。
print('连接的地址', repr(addr))
while 1:
data = conn.recv(1024) # 接受TCP数据,1024表示缓冲区的大小
if not data: break
print('接收到:', repr(data))
conn.sendall(data) # 把从客户端接收来的数据完整的,发送给客户端
conn.close()
客户端代码:
import socket
print('我是客户端!')
HOST = 'localhost' # 服务器的ip
PORT = 50007 # 需要连接的服务器的端口
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
print("发送'hello world'")
s.sendall('Hello, world'.encode()) # 发送‘Hello,world’给服务器
data = s.recv(1024)
s.close()
print('接收到', repr(data)) # 打印从服务器接收回来的数据
说明:
需要先运行服务器端代码,再运行客户端代码。