你好,游客 登录 注册 搜索
背景:
阅读新闻

Python编写的Socket服务器和客户端

[日期:2013-08-25] 来源:Linux社区  作者:fantefei [字体: ]

Python编写的Socket服务器和客户端

服务器端:
#!/usr/bin/python
import socket
host='127.0.0.1'
port=8123
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(2)
try:

      while True:
              conn,add=s.accept()
              while True:
                      data2=''
                      data1=conn.recv(3)
                      if data1=='EOF':
                              conn.send('hello clietn1')
                              break
                      if data1=='FOE':
                              conn.send('hello client2')
                              break
                      data2+=data1
                      print data2
except KeyboardInterrupt:
      print "you have CTRL+C,Now quit"
      s.close()
注:服务器端一次只接收3个字节的数据,我让读取进入循环,然后不断累加到data2中,当读取到EOF时,退出打印data2,当读取FOE时,退出打印data2,(EOF和FOE是客户端发送完数据时发送的结束符),当接收到CTRLC+C时,关闭socket

客户端1:

#!/usr/bin/env python
import socket
import os
ss=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ss.connect(('127.0.0.1',8123))
#f=open('aa','wb')
ss.sendall('hello serverdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd')
os.system('sleep 1')
ss.send('EOF')
data=ss.recv(1024)
print "server dafu %s"%data
ss.close()

客户端2:

#!/usr/bin/env python
import socket
import os
ss=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ss.connect(('127.0.0.1',8123))
#f=open('aa','wb')
ss.sendall('wokao sile')
os.system('sleep 1')
ss.send('FOE')
data=ss.recv(1024)
print "server dafu %s"%data
ss.close()

推荐阅读:

通过Python Socket 管理系统时间 http://www.linuxidc.com/Linux/2013-08/89226.htm

Python脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

Python文件处理:读取文件 http://www.linuxidc.com/Linux/2013-08/88496.htm

如何发布自定义的Python模块 http://www.linuxidc.com/Linux/2013-08/88495.htm

Python爬虫多线程抓取代理服务器 http://www.linuxidc.com/Linux/2013-07/87289.htm

linux
相关资讯       Python Socket 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款