python - 尝试多次打开,写入和关闭套接字时,连接被拒绝(Python)

标签 python sockets limit max

我有一个程序在端口上监听,等待少量数据告诉它该怎么做。我运行了该程序的5个实例,每个端口从5000到5004(含两端)一个。

我有第二个用Python编写的程序,该程序创建一个套接字“s”,将数据写入端口5000,然后关闭。然后,它增加端口号并创建一个连接到5001的新套接字。直到达到5004为止,它都会这样做。

前三个套接字连接工作正常。端口5000到5002上的程序可以正常接收数据,然后就消失了!但是,第四个套接字连接会导致“连接被拒绝”错误消息。同时,第四个监听程序仍报告它正在端口5003上等待-我知道它正在正确监听,因为我能够使用Telnet连接到它。

我尝试更改端口号,并且每次都是第四个连接失败。

我应该检查的系统是否有限制?我在发送端的任何时候都只能打开一个套接字,而事实上我可以通过5个端口中的3个打开,这消除了我能想到的许多基本的故障排除步骤。

有什么想法吗?谢谢!

- - 编辑 - -

我使用的是python版本2.6的CentOS Linux。这是一些示例代码:

try:
        portno = 5000
        for index, data in enumerate(data_list):
                s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                s.connect(('myhostname', portno))
                s.sendall(data)
                s.close()
                portno = portno + 1
except socket.error, (value,message):
        print 'Error: Send could not be performed.\nPort: ' + str(portno) + '\nMessage: ' + message
        sys.exit(2)

最佳答案

这听起来很像防火墙的反端口扫描措施。

关于python - 尝试多次打开,写入和关闭套接字时,连接被拒绝(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1145540/

相关文章:

python - Matplotlib 数字图像作为 numpy 数组

eclipse + tomcat错误

android - 是否可以在Android中使用编写c代码访问rild套接字

sql - 如何在SQL Server 2005中使用LIMIT关键字?

Python 如何在 numpy 数组中查找第一个重复项

python - 如何在列表理解中使用 print() 和其他操作?

linux - 无法在 bash 脚本中使用参数 nb10

input - 如何限制输入整数从 1 到 9

python - 如何查找固定字符串周围的匹配项

c# - Socket.EndAccept 上的 System.AggregateException 与 TaskFactory.FromAsync