python网络设计模块

1.Socket模块服务器

Socket模块中的socket()方法用于建立套接字,套接字主要是两个程序之间的信息通道,程序可能分布在不一样的计算机上,经过套接字相互发送信息socket

语法格式:socket(socket_family,socket_type,protocol = 0)3d

socket_family    该参数的值能够为AF_UNIX或AF_INET对象

socket_type   该参数的值能够为SOCK_STREAM或SOCK_DGRAMblog

protocol   该参数通常不赋值,默认值为0接口

2)socket的工做方式进程

套接字包括两个:服务器套接字和客户机套接字。套接字在工做的时候,将链接对端分为服务器端和客户端,这也是C/S(Client/Server,客户端/服务器端)模式的由来事务

服务器端套接字必须准备随时处理客户端的链接,同时还要处理多个链接,而客户机只是简单地链接,完成事务、断开链接。字符串

Socket类的实例化须要3个参数:
·第一个参数是地址簇(默认是socket.AF_INET)服务器端

·第二个参数是流(默认值为socket.SOCK_STREAM)或数据报(默认值为socket.SOCK_DGRAM)套接字

·第三个参数是使用的协议(默认为0,使用默认值便可)

不一样的套接字类型有着不一样的套接字地址。在AF_UNIX地址簇中使用一个简单的字符串;在AF_INET地址簇中使用的是host和port地址对,其中host为主机地址名、IP地址或者Internet上的URL,而port则是一个整数;在AF_INET6地址簇中用(host,port,flowinfo,scopeid)元组来表示,其中的host和port与AF_INET中相同。

客户端应用程序在生成套接字对象后,能够调用bind()方法来绑定本身的请求套接字接口地址,而后调用connect()方法来链接服务器端进程。当链接创建后,能够使用send()和recv()方法来传输数据。最后须要使用close()方法将端口关闭。

服务器端套接字使用bind()方法绑定一个套接字接口地址,接着使用listen()方法监听客户端请求。当有客户端请求时,将经过accept()方法来生成一个链接对象,而后经过此链接对象发送和接收数据。数据传输完毕,能够调用close()方法将生成的链接关闭。

相关文章
相关标签/搜索