tcp_demo

代码讲解:

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()
View Code

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()
View Code

 

server相对于client的来说,多了绑定、监听和等待客户端消息,另外,接受和回复客户端请求用的都是来自客户端的socket。

 

server分为这几步:

1、创建服务器套接字tcp

2、绑定ip和端口

3、监听

4、等待客户端消息

5、接受客户端请求

6、回复客户端请求

7、关闭套套接字

 

client分为这几步:

1、创建tcp套接字

2、链接服务器

3、发送和接受数据

4、关闭套接字

 

 

创建tcp服务器套接字
posted @ 2020-02-05 20:44  补码  阅读(205)  评论(0编辑  收藏  举报