Python网络编程
文章平均质量分 76
棉猴
这个作者很懒,什么都没留下…
展开
-
Python中通过socketserver库创建服务端
要创建一个服务端,必须定义socketserver库中的TCPServer类的实例,而定义该实例时需要指定请求处理(request handler)对象,该对象的定义了服务端如何处理客户端请求。BaseRequestHandler类是所有请求处理(request handler)对象类的父类。因此,需要首先定义socketserver库中BaseRequestHandler类的派生类,代码如图2所示。图2 定义socketserver库中BaseRequestHandler类的派生类。原创 2023-11-08 16:09:23 · 717 阅读 · 0 评论 -
Python网络编程之数据的主机字节序与网络字节序
数据的主机字节序指的是在高位内存保存数据的高位,在低位内存保存数据的低位。在Python中套接字实现服务端和客户端3-1_棉猴的博客-CSDN博客中提到服务端监听的端口号是12345,代码为十进制的12345转换为十六进制是0x00003039,其在内存中的格式如图1①所示。图1 主机字节序与网络字节序从图1①中可以看到,左侧是内存低位,右侧为内存高位。这种把数据低位保存到内存低位,数据高位保存到内存高位的方式又叫“小头”(little-endian)。原创 2023-10-25 11:30:58 · 510 阅读 · 0 评论 -
Python网络编程改良版客户端
在中提到,客户端可以通过connect()方法连接服务端,而连接成功的前提是服务端在必须客户端连接之前就要等待连接。原创 2023-10-17 10:12:27 · 131 阅读 · 0 评论 -
Python网络编程改良版服务端
在中提到服务端可以接收来自客户端的连接,并且创造新的套接字与客户端进行数据通信。此时的服务端只能与一个客户端进行数据通信,如果有多个客户端连接服务端,该怎么对服务端进行改良呢?原创 2023-10-17 11:18:49 · 139 阅读 · 0 评论 -
Python中套接字实现服务端和客户端3-3
如果不能成功连接服务器,connect()方法会间隔一段时间后再次尝试连接,此时代码会阻塞等待connect()的再次尝试,当尝试了一定次数后仍无法连接服务器,则connect()方法会抛出TimeoutError,即连接超时异常。从图5可以看出,对于客户端来说,首先创建套接字,之后通过创建的套接字去连接服务端,如果连接成功,则继续通过该套接字向服务端发送数据,最后关闭套接字。通过connect()方法连接服务端,该方法的格式如下所示。客户端创建套接字的方法与服务端相同,代码如下所示。原创 2023-10-10 22:54:24 · 250 阅读 · 0 评论 -
Python中套接字实现服务端和客户端3-2
当创建了用于数据通信的套接字后,使用recv()方法接收来自客户端的数据,如果客户端没有发送数据,则程序会阻塞在recv()方法处,直到接收到客户端的数据,程序才会向下运行。accept()方法的返回值是一个元组,包含了新创建的套接字和连入服务端的客户端的地址信息,该地址信息包含了客户端的IP地址和端口号。其中conn表示新创建的用于数据传输的套接字,addr是一个元组,保存了连入服务端的客户端的IP地址和端口号。该方法的格式如下所示。当有客户端连接服务端时,可以看到服务端套接字的状态,如图3所示。原创 2023-10-10 16:19:47 · 101 阅读 · 0 评论 -
Python中套接字实现服务端和客户端3-1
网络服务端和客户端是通过套接字来进行通信的。通过套接字来创建服务端和客户端的步骤是不同的。原创 2023-10-10 16:15:10 · 142 阅读 · 0 评论 -
Python中转换IP地址格式的方法
IP地址一般用字符串“XXX.XXX.XXX.XXX”表示。例如,“192.168.147.1”、“127.0.0.1”等。在确定主机IP地址段时,需要将IP地址的每段转换成数字。原创 2023-09-22 16:07:29 · 1404 阅读 · 0 评论 -
Python中获取主机名和IP地址的方法
在Python中,可以通过socket模块中gethostname()、getfqdn()和gethostbyname()方法获取本地和远程主机名和IP地址。原创 2023-09-20 11:21:39 · 4461 阅读 · 0 评论 -
Python网络编程中getservbyport和getservbyname函数的用法
在Python的网络编程中,getservbyport()函数和getservbyname()函数是socket模块中的两个函数,因此在使用这两个函数时,需要导入socket模块。原创 2023-01-11 21:52:56 · 879 阅读 · 0 评论
分享