TCP标准模板
2024-09-03 14:17:16
伪代码
#创建一个TCP服务器
ss = socket() #创建服务器套接字
ss.bind() #把地址绑定到套接字上
ss.listen() #监听连接
inf_loop: #服务器无线循环
cone,addr = ss.accept() #接收客户端连接
comm_loop: #通信循环
cone.recv()/cs.send() #对话(接受与发送)
cone.close() #关闭客户端套接字
ss.close() #关闭服务器套接字(可选) #创建一个TCP客户端
ss = socket() #创建一个客户端套接字
ss.connect() #尝试连接服务器
comm_loop: #通信循环
cs.send()/cs.recv() #对话(接受或发送)
cs.close() #关闭客户端套接字
复制代码
标准实例:
#服务器端
from socket import *
cs = socket(AF_INET,SOCK_STREAM)
cs.bind(("127.0.0.1",8888))
cs.listen(5)
print("Have Listen") while True:
cone,addr = cs.accept()
while True:
data = cone.recv(1024)
if len(data) == 0:break #如果收到TCP消息,则关闭客户端套接字
print(data.decode("utf-8"))
cone.send(data.upper())
cone.close()
cs.close() #客户端
from socket import *
cs = socket(AF_INET,SOCK_STREAM)
cs.connect(("127.0.0.1",8888))
while True:
ssg = input(">>>").strip()
if not ssg:continue #避免空格造成的停顿
cs.send(ssg.encode("utf-8")) #发
data = cs.recv(1024)
print(data.decode("utf-8")) #收
cs .close()
最新文章
- Python读取文件内容并将内容插入到SSDB中
- ES6 - Note4:Class类
- PhpStorm配置svn时提示需要证书:authentication required的解决方法,总是弹出
- 【BZOJ】1535: [POI2005]Sza-Template
- [ZZ] Understanding 3D rendering step by step with 3DMark11 - BeHardware >;>; Graphics cards
- C#实现APK自动打包
- windows下python 编码问题
- 磁珠(FB)的原理
- ios屏幕
- 火眼发布Windows攻击工具集
- python tesserocr ImportError: dll loading failed 一个不常遇见的错误,以及简单的python安装方法~
- Class.isAssignableFrom与instanceof的区别
- C#如何在生成文件夹或者文件时候自动重命名
- Linux Shell常用shell命令
- MVC005之页面调用控制器中的方法
- .net委托
- 将python的代码文件打包成可执行文件
- 使用urlretrieve下载图片
- java之UDP(datagramsocket,datagramPacket)实例
- 【BZOJ3668】[NOI2014] 起床困难综合症(位运算思想)
热门文章
- 单点登录cas常见问题(四) - ticket有哪些存储方式?
- VM里面的桥接
- sqlserver 中EXEC和sp_executesql使用介绍
- json对象和json字符串之间的转换-JavaScript实现
- PHP面试题及答案解析(7)—Linux系统命令
- Codeforces Round #275 (Div. 2) C
- redhat 网络配置
- iOS swift NSClassFromString将字符串转换成类名
- eclipse JVM Tomcat 内存堆栈大小设置
- Harbor的搭建(vmware企业级docker镜像私服)