Python网络编程

网络编程就是如何在程序中实现两台计算机的通信。

通信的时候,双方必须知道对方的标识,好比发邮件必须知道对方的邮件地址。互联网上每个计算机的唯一标识就是IP地址。如果一台计算机同时接入到两个或更多的网络,比如路由器,它就会有两个或多个IP地址,所以IP地址对应的实际上是计算机的网络接口,通常是网卡。

服务器端方法:

Python网络编程_第1张图片

客户端方法:

Python网络编程_第2张图片

其他公共常用方法:

Python网络编程_第3张图片

一、TCP编程

创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器;

1、客户端

创建Socket时,AF_INET是指使用IPv4协议,如果要用更先进的IPv6就使用AF_INET6;SOCK_STREAM是指使用面向流的TCP协议;

Socket对象就创建成功后,需要建立连接。客户端要主动发起TCP连接,必须知道服务器的IP地址和端口号;

建立TCP连接后,可以接收服务端发来的数据,也可以向服务端发送数据,最后调用close()方法关闭Socket。

Python网络编程_第4张图片

2、服务端

服务器首先要绑定一个端口并监听来自其他客户端的连接。如果某个客户端连接过来了,服务器就与该客户端建立Socket连接,随后的通信都靠这个Socket连接。

Python网络编程_第5张图片

二、UDP编程

UDP是面向无连接的协议,使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。

1、服务端

创建Socket时,SOCK_DGRAM是指这个Socket的类型是UDP。不需要调用listen()方法监听,而是直接接收来自任何客户端的数据。

Python网络编程_第6张图片

2、客户端

创建基于UDP的Socket,与服务端方法一样,但是不需要调用connect(),而是直接通过sendto()给服务器发数据。

Python网络编程_第7张图片

你可能感兴趣的:(Python网络编程)