网络编程实验报告 py thon_socket 网络编程 一、TCP 编程 (一)、建立一个 TCP 服务器连接需要 6 个步骤: 1
创建 socket 对象
调用 socket 构造函数: socket=socket
socket(familly,type) family的值可以是 AF_UNIX(Unix域,用于同一台机器上的进程间通讯),也可以是 AF_INET(对于 IPV4 协议的 TCP 和 UDP),至于 type 参数,SOCK_STREAM(流套接字)或者 SOCK_DGRAM(数据报文套接字),SOCK_RAW(raw 套接字)
将 socket 绑定(指派)到指定地址上,socket
bind(address) address 必须是一个双元素元组,((host,port)),主机名或者 ip 地址+端口号
如果端口号正在被使用或者保留,或者主机名或 ip 地址错误,则引发 socke
error 异常
绑定后,必须准备好套接字,以便接受连接请求
socket
listen(backlog) backlog 指定了最多连接数,至少为 1,接到连接请求后,这些请求必须排队,如果队列已满,则拒绝请求
服务器套接字通过 socket 的 accept 方法等待客户请求一个连接: connection,address=socket
accept() 调用 accept 方法时,socket 会进入'waiting'(或阻塞)状态
客户请求连接时,方法建立连接并返回服务器
accept 方法返回一个含有俩个元素的元组,形如(connection,address)
第一个元素(connection)是新的 socket 对象,服务器通过它与客户通信;第二个元素(address)是客户的 internet 地址