一个例子走近 Python Socket 编程:模拟各种常见的 WinError 情况

一、引言

最近在工作中使用 Python 写了一个测试用的小工具,大概作用是这样的:

这个小工具作为一个服务端,对客户端发起的请求信息,做一些处理,然后将返回的报文同步或者异步的返回回去。

对于这个小工具来说,其主要作为被请求服务的服务端进行工作。而在这个小工具的开发过程中,我经常会遇到诸如 Python Socket 编程的 [WinError XXXXX]之类的错误。

遇到的多了,我发现,与其遇到一个 WinError 错误然后去搜索原因,不如我们自己写一个简单的基于 TCP 的服务端客户端通信程序,来自己把这些 WinError 错误的情况给模拟出来,这样,我们也会对这些 WinError 错误有更加深刻的理解。

说做就做,先上一份最简单的使用 Python Socket 编程实现的的服务端客户端通信程序。然后,我们在这份代码基础上,进行各种操作,去模拟实现一些常见的 WinError 错误。

二、C&S 代码

这里,直接上代码吧:

1. 代码

服务端程序

"""
Client side

Author: Wang Ying
Last modified: July 30 2019
"""
from socket import socket, AF_INET, SOCK_STREAM

# Create socket
tcpSerSocket = socket(AF_INET, SOCK_STREAM)

# Bind ip & port
address = ('127.0.0.1', 9999)
tcpSerSocket.bind(address)

# Begin listen
tcpSerSocket.listen(5)

while True:

    # Receive client's connect, newSocket is served for client.
    # tcpSerSocket wait for another client's connect.
    newSocket, clientAddr = tcpSerSocket.accept()

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值