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

python网络设计模块

时间:2019-01-14 20:15:18      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:.com   pytho   bin   stream   client   family   信息   prot   事务   

1.Socket模块

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

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

socket_family    该参数的值可以为AF_UNIX或AF_INET

socket_type   该参数的值可以为SOCK_STREAM或SOCK_DGRAM

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()方法将生成的连接关闭。

技术分享图片

 

python网络设计模块

标签:.com   pytho   bin   stream   client   family   信息   prot   事务   

原文地址:https://www.cnblogs.com/askill/p/10268359.html

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