伪代码

#创建一个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()

最新文章

  1. Python读取文件内容并将内容插入到SSDB中
  2. ES6 - Note4:Class类
  3. PhpStorm配置svn时提示需要证书:authentication required的解决方法,总是弹出
  4. 【BZOJ】1535: [POI2005]Sza-Template
  5. [ZZ] Understanding 3D rendering step by step with 3DMark11 - BeHardware >> Graphics cards
  6. C#实现APK自动打包
  7. windows下python 编码问题
  8. 磁珠(FB)的原理
  9. ios屏幕
  10. 火眼发布Windows攻击工具集
  11. python tesserocr ImportError: dll loading failed 一个不常遇见的错误,以及简单的python安装方法~
  12. Class.isAssignableFrom与instanceof的区别
  13. C#如何在生成文件夹或者文件时候自动重命名
  14. Linux Shell常用shell命令
  15. MVC005之页面调用控制器中的方法
  16. .net委托
  17. 将python的代码文件打包成可执行文件
  18. 使用urlretrieve下载图片
  19. java之UDP(datagramsocket,datagramPacket)实例
  20. 【BZOJ3668】[NOI2014] 起床困难综合症(位运算思想)

热门文章

  1. 单点登录cas常见问题(四) - ticket有哪些存储方式?
  2. VM里面的桥接
  3. sqlserver 中EXEC和sp_executesql使用介绍
  4. json对象和json字符串之间的转换-JavaScript实现
  5. PHP面试题及答案解析(7)—Linux系统命令
  6. Codeforces Round #275 (Div. 2) C
  7. redhat 网络配置
  8. iOS swift NSClassFromString将字符串转换成类名
  9. eclipse JVM Tomcat 内存堆栈大小设置
  10. Harbor的搭建(vmware企业级docker镜像私服)