Python学习笔记三--socket

TCP/IP是一个四层的分层体系结构:

应用层:应用层,表示层,会话层(OSI)

传输层:传输层

互联网层:网络层

网络接口层:数据链路层,物理层

在TCP/IP模型中,最主要的两个协议TCP/IP分别属于传输层和互联网层。

 

Socket模块:

    socket(socket_family,socket_type,protocol = 0)

其中:

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

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

    protocol 该参数一般不赋值,默认值为0.

 

      套接字包括两个;服务器套接字和客户机套接字。套接字在工作的时候,将连接对端分为服务端和客户端,这也是C/S模式的由来。套接字的对端通信是不对等的。根据不同的通信方式,通信协议可以分为对称协议和非对称协议。

处理客户端套接字比处理服务端套接字容易,因为服务器必须准备随时处理客户端的连接,同时还要处理多个连接,而客户机只是简单地连接,完成事务、断开连接。一个套接字就是一个socket模块中的socket实例。

      第一个参数是地址簇(默认是socket.AF_INET)。

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

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

 

 

      客户端应用程序在生成套接字对象后,可以调用bind()方法来绑定自己的请求套接字接口地址,然后调用connect()方法来连接服务器端进程。当连接建立后,可以使用send()和recv()方法来传输数据。最后需要使用close()方法将端口关闭。

 

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值