ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

tcp_demo

2020-02-05 20:53:56  阅读:169  来源: 互联网

标签:__ socket demo tcp client 接字 客户端


代码讲解:

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服务器套接字

标签:__,socket,demo,tcp,client,接字,客户端
来源: https://www.cnblogs.com/GEEK-ZHAO/p/12266456.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有