网络编程socket模块


套接字的地址家族(AF, Address Family)分为2种,一种是基于文件的AF_UNIX,一种是基于网络的AF_INET,;套接字的类型有2种,面向连接的套接字SOCK_STREAM和无连接的套接字SOCK_DGRAM。
UDP常用的模块有3个: (1) socket([family[, type[proto]]]) (2) sendto(string,address) (3) recvfrom(bufsize[, flags]) 收发UDP数据,接收到的是data,address TCP常用的模块有6个: (1) connect(address) 客户端连接TCP服务器,address地址必须是一个双元素元组,格式是(host,port) (2) send(bytes[, flags]) (3) recv(bufsize[, flags]) 收发TCP数据,接收到的是data (4) bind(address) (5) listen(backlog)backlog指定最多允许多少个客户连接到服务器。它的值至少为1。收到连接请求后,这些请求需要排队,如果队列满,就拒绝请求。 (6) accept()调用accept方法时,socket会时入“waiting”状态。客户请求连接时,方法建立连接并返回服务器。accept方法返回一个含有两个元素的 元组(connection,address)。第一个元素connection是新的socket对象,服务器必须通过它与客户通信;第二个元素 address是客户的Internet地址。
TCP连接的流程如下图所示。 需要注意的是,在免费云主机域名socket传送信息时,只能以byte格式发送,而python3默认的是unicode格式。因此,对python3在发送str时需要编码str.encode(),接收str时需要解码str.decode()。

相关推荐: linux如何查看jdk是什么版本

这篇文章主要介绍了linux如何查看jdk是什么版本的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux如何查看jdk是什么版本文章都会有所收获,下面我们一起来看看吧。 查看方法:1、如果没有设置jdk环境变量,则需要先使用c…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/31 11:00
下一篇 01/31 11:00