TCP套接字
2023-03-14 09:45:36 时间
TCP服务器端编程一般步骤:
- 创建socket,用函数socket();
- 设置socket属性,用函数setsocket();
- 绑定IP地址、端口等信息到socket上,用函数bind();
- 开启监听,用函数listen();
- 接收从客户端来的网络连接,用函数accept();
- 收发数据,用函数send()和recv(),或者read()和write();
- 关闭网络连接;
- 关闭监听。
TCP客户器端编程一般步骤:
- 创建socket,用函数socket();
- 设置socket属性,用函数setsocket();
- 绑定IP地址、端口等信息到socket上,用函数bind();
- 设置要连接的对方的IP地址和端口等属性;
- 连接服务器,用函数connect();
- 收发数据,用函数send()和recv(),或者read()和write();
- 关闭网络连接。
1 TCP服务器 2 from socket import * 3 4 server_socket = socket(AF_INET, SOCK_STREAM) #创建socket实例,SOCK_STREAM表示TCP 5 server_socket.bind("192.168.6.18", 805) #绑定IP地址和端口号 6 server_socket.listen(2) #启动监听,2表示挂起等待连接队列的最大长度 7 8 connect_socket, address = server_socket.accept() #开启接收 9 info = connect_socket.recv(1024).decode() #接收长度为1024的字节并解码为utf-8字符 10 connect_socket.send(info.upper().encode()) #将utf-8字符编码为字节发送 11 12 connect_socket.close() #关闭连接
1 TCP客户端 2 from socket import * 3 4 client_socket = socket(AF_INET, SOCK_STREAM) #创建socket实例,SOCK_STREAM表示TCP 5 client_socket.connect("192.168.6.18", 805) #连接 6 7 client_socket.send("以心印心".encode()) #发送字符编码后的字节 8 message = client_socket.recv(1024).decode() #接收字节并解码为字符 9 10 client_socket.close() #断开客户端连接
相关文章
- 为什么动态类型编程语言会如此流行?
- 反射是否真的会让你的程序性能降低?
- 我从谷歌工程师文化中学到的 6 个核心原则
- 成为优秀程序员的10个有效方法
- 写代码的最高境界:能不写则不写、能少些则少些
- 从程序员比电脑便宜到电脑比程序员便宜
- “Hello world”不简单
- 为什么你的代码如此难以理解
- 在Eclipse中导入static元素
- 李纳斯定律(Linus’s Law):只要有足够多的眼球,就可让所有bug浮现
- 为什么我要竖向对齐程序代码,你也应该这样做
- 张逸:代码的体格
- R与Swift笑傲2014年语言搜索人气榜
- 超全面的.NET GDI+图形图像编程教程
- 程序员的鄙视链
- 你患上开发者渐冻症了吗?
- 在Java 8下更好地利用枚举
- 揭秘PHP深受Web开发者喜爱的原因
- 程序员的最大噩梦是什么?
- 请不要再责怪你的程序员“太慢”