码迷,mamicode.com
首页 > 编程语言 > 详细

Python Socket学习之旅(二)

时间:2018-08-05 16:54:29      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:connect   python   绑定   image   pip   pytho   socket   stream   bind   

  • Socket函数

技术分享图片

技术分享图片

技术分享图片

技术分享图片

注解:

Socket的close和shutdown--结束数据传输: close-----关闭本进程的socket id,但链接还是开着的,用这个socket id的其它进程还能用这个链接, 能读或写这个socket id shutdown--则破坏了socket 链接,读的时候可能侦探到EOF结束符,写的时候可能会收到一个 SIGPIPE信号,这个信号可能直到socket buffer被填充了才收到,shutdown还有一个关闭方式的参数, 0 不能再读,1不能再写,2 读写都不能。 多进程应用:

1.如果有多个进程共享一个套接字,close每被调用一次,计数减1,直到计数为0时,也就是所用进 程都调用了close,套接字将被释放。

2.在多进程中如果一个进程中shutdown(sfd, SHUT_RDWR)后其它的进程将无法进行通信。如果一 个进程close(sfd)将不会影响到其它进程。

  • Socket编程思想

TCP服务端:

1 创建套接字,绑定套接字到本地IP与端口 # socket.socket(socket.AF_INET,socket.SOCK_STREAM) , s.bind()

2 开始监听连接 #s.listen()

3 进入循环,不断接受客户端的连接请求 #s.accept()

4 然后接收传来的数据,并发送给对方数据 #s.recv() , s.sendall()

5 传输完毕后,关闭套接字 #s.close()

TCP客户端:

1 创建套接字,连接远端地址 # socket.socket(socket.AF_INET,socket.SOCK_STREAM) , s.connect()

2 连接后发送数据和接收数据 # s.sendall(), s.recv()

3 传输完毕后,关闭套接字 #s.close() 

Python Socket学习之旅(二)

标签:connect   python   绑定   image   pip   pytho   socket   stream   bind   

原文地址:https://www.cnblogs.com/IT-LearnHall/p/9426038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!