设为首页 收藏本站
查看: 1333|回复: 0

[经验分享] Python之Socket-DBAspace

[复制链接]
发表于 2018-8-16 11:31:13 | 显示全部楼层 |阅读模式
DSC0000.png

  原理:服务端一直处理监听的状态,当客户端发起一个请求,服务端监听到请求建立连接,在建立连接时,若当前客户端没有结束,处于阻塞状态,当前的会话处于不断的交互状态,只有当前客户端结束回话后,才进行下个回话请求,若此时有另外一个连接,不会分配当前的服务端正在使用连接分配给后来的客户端绘画
  通俗说理解SOCKET过程:小磊子和10086
  一天小磊子打电话给10086,10086的小红接到小磊子的电话,这时候小磊子就开始发牢骚问,我这个月的电话费怎么那么多(此时就是SOCKET建立会话连接通信过程),小红听到小磊子的牢骚后,开始在后台查询小磊子这个月的电话记录情况,然后小红把查到的数据告诉小磊子(此时是客户端:请求数据-请求处理--回应数据),你这个月凌晨跟某某女生.....此时浩哥也打电话给10086,要找小红,此时小红在接客状态,在给小磊子干活,无法接通(客户端阻塞连接),浩哥不开心,因为他想查下这个月他老婆最近夜里跟谁在打电话....就随便找了小丽为浩哥服务(此时是SOCKET的并发过程)......当小磊子挂掉电话后,此时与小红断开连接(结束连接),小红才能继续接客....继续等待下一个人到来....
  Socket服务端编程主要包括下面几步:
  1、打开socket
  2、绑定到一个地址和端口
  3、侦听进来的连接
  4、接受连接
  5、读取数据
  客户端过程:
  1、打开一个socket
  2、连接一个地址和端口
  3、读写数据
  ####网络通信,有TCP/IP还有其他...
  socket type:
  socket.AF_UNIX:只能够用于单一的unix系统进程间通信
  socket.AF_INET:服务器之间网络通信
  socket.AF_NET6IPV6
  ###简单例子
  SERVER:
  import socket
  host=''
  port=1122
  s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  s.bind((host,port))
  s.listen(1)
  conn,addr=s.accept()
  print "connected by",addr
  while True:
  data=conn.recv(1024)
  if not data:break
  conn.sendall(data)
  conn.close()
  ###CLIENT:
  import socket
  host='127.0.0.1'
  port=1122
  s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  s.connect((host,port))
  s.sendall('hello,world')
  data=s.recv(1024)
  s.close()
  print 'received',repr(data)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-552623-1-1.html 上篇帖子: Python+sql 中文乱码问题 下篇帖子: python文件和json和内置函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表