代码讲解:
server

1 import socket
2
3
4 def main():
5 # 创建tcp服务器套接字
6 tcp_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
7 # 绑定
8 load_addr = ('', 8000)
9 tcp_server.bind(load_addr)
10 # 监听
11 print('等待客户端接入...')
12 tcp_server.listen(128)
13 # 等待客户端消息
14 client_socket, client_addr = tcp_server.accept()
15 print(str(client_addr) + '接入...')
16 # 接收客户端请求
17 print('等待客户端消息...')
18 client_msg = client_socket.recv(1024)
19 print(client_msg.decode('gbk'))
20 # 回复客户端消息
21 client_socket.send('OK'.encode('gbk'))
22 # 关闭套接字
23 tcp_server.close()
24 client_socket.close()
25
26
27 if __name__ == '__main__':
28 main()
client

1 import socket
2
3
4 def main():
5 # 创建tcp套接字
6 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
7 # 链接
8 dest_ip = input('请输入对方ip:') # 192.168.6.206
9 dest_port = int(input('请输入对方port: '))
10 tcp_socket.connect((dest_ip, dest_port))
11 while True:
12 # 发送数据
13 send_msg = input('请输入要发送的信息: ')
14 tcp_socket.send(send_msg.encode('gbk'))
15 # 接收数据
16 recv_msg = tcp_socket.recv(1024)
17 print('接收到的数据: ', recv_msg.decode('gbk'))
18 break
19 # 关闭套接字
20 tcp_socket.close()
21
22
23 if __name__ == '__main__':
24 main()
server相对于client的来说,多了绑定、监听和等待客户端消息,另外,接受和回复客户端请求用的都是来自客户端的socket。
server分为这几步:
1、创建服务器套接字tcp
2、绑定ip和端口
3、监听
4、等待客户端消息
5、接受客户端请求
6、回复客户端请求
7、关闭套套接字
client分为这几步:
1、创建tcp套接字
2、链接服务器
3、发送和接受数据
4、关闭套接字
创建tcp服务器套接字
来源:https://www.cnblogs.com/GEEK-ZHAO/p/12266456.html
