python中建立具有TCP和流套接字的简单服务器的代码编写心得

简单描述:

建立服务器需要用到socket模块,一般来说需要6个步骤:

1.用socket创建套接字,语法格式如下:

socket.socket([family, [type, [protocol]]])

family一般有三种类型,AF_UNIX(用于同一台机器上的进程间通信),AF_INET(用于IPV4的TCP和UDP),AF_INET6(针对IPV6)

type有两种类型,一种是针对面向连接的协议(如TCP),一种是针对面向非连接的协议(如UDP),分为SOCK_STREAM(流套接字)和SOCK_DGRAM(数据报文套接字)

prototol一般不指定

2.将socket绑定到指定端口,用socket.bind((host, port))

3.指定服务器最大连接数a,a至少为1,用socket.listen(a)

4.等待客户请求一个连接,用connection, address=socket.accept(),服务器接受客户端连接请求后,accept方法将返回一个新的连接套接字对象

connection和客户端的ip地址address,后续服务器和客户端的通信将依靠新的套接字connection

5.服务器和客户端通过send和recv方法通信

6.传输结束,通过调用close方法关闭连接

具体代码实现如下:

其中后续使用了线程的知识来处理新建立的套接字对象(TCP)连接,这里不做讨论


 

你可能感兴趣的:(python中建立具有TCP和流套接字的简单服务器的代码编写心得)