博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python socket通信案例
阅读量:6772 次
发布时间:2019-06-26

本文共 1024 字,大约阅读时间需要 3 分钟。

  • 实现通信需要有IP和端口号

  大致实现思路:

 

            

 

  • 实现消息发送和接收具体过程

  1、  客户端(不能发送空消息!!)

    

#客户端#!!!!!不能发空消息import socketclient=socket.socket()#声明协议类型,不写类型使用默认的client.connect(('localhost',2221))#connect只能传一个参数,可用tuple实现传两个参数,即IP和端口号while True:    data=input('send mesage>>>').strip()#输入空格,回车等都视为空    if len(data)==0:#处理发空消息        continue    client.send(data.encode('utf-8'))#只能传输bytes类型的数据    data2=client.recv(1024)    print('rev:',data2.decode())client.close()

 

  2、  服务器端

  

#服务器端import socketsever=socket.socket()sever.bind(('localhost',2221))sever.listen(5)#监听print('等待数据')while True:    conn,addr=sever.accept()#等待数据,conn为客户端连到服务器端为其生成的一个连接实例    while True:        # print('数据来啦')        data=conn.recv(1024)#通过实例来接收数据        if not data:#处理服务器断开的情况,即不发送消息了           print('client has lost...')           break        print('receive:',data)        conn.send(data.upper())#bytessever.close()
View Code

  

  ps:消息的发送和接收都有大小限制

  Windows上好像不能实现一个客户端连接断开,另一个客户端接着发送消息

  客户端断开连接后,服务器也关闭了。。。

转载于:https://www.cnblogs.com/Aprilnn/p/9179896.html

你可能感兴趣的文章
linux中文件查找
查看>>
通过keepalived实现LVS的高可用,实现WEB的高可用
查看>>
解决windows终端服务器超出最大允许连接数
查看>>
ubuntu server 10.4下的DHCP服务配置
查看>>
《Effective C++》条款20宁以pass-by-reference-to-const替换pass-by-value
查看>>
QDomNode与QDomElement的关系整理
查看>>
第3章 基本数据类型
查看>>
Codeforces Round #327 (Div. 2) B. Rebranding C. Median Smoothing
查看>>
Linux Shell之七 函数应用
查看>>
通过virt工具安装管理KVM虚拟机
查看>>
js中我的注释规范
查看>>
Oracle Study之-Oracle 11g OCM考试(2)
查看>>
查看实时公网ip
查看>>
OpenSolaris/Solaris中文FAQ
查看>>
git切换到远程分支
查看>>
VMware无法与物理机连通Could not connect Ethernet0 to virtual network "VMnet8"完美解决
查看>>
Linux下如何使用虚拟用户增加FTP的安全性
查看>>
为了学习WinCE嵌入式编程,又开始学起了MFC
查看>>
[RHEL5企业级Linux服务攻略]--第2季 Samba服务全攻略
查看>>
JSP和ASP.NET到底谁才是未来的主宰
查看>>