Python 当新数据接收到套接字时,Windows将断开连接

Python 当新数据接收到套接字时,Windows将断开连接,python,sockets,python-2.7,windows-server-2008,twisted,Python,Sockets,Python 2.7,Windows Server 2008,Twisted,我用twisted做了一个服务。在我转移到新服务器之前,一切都正常。现在,当接收到新数据时,我的服务会断开大部分连接。 旧服务器安装了32位Windows XP,新服务器是英特尔服务器上的VMWare VM,Windows server 2008为64位。Python和twisted版本在两台服务器上都是相同的 在这里,您可以看到问题的一个片段: ConnectionLost reason is: Connection to the other side was lost in a non-cl

我用twisted做了一个服务。在我转移到新服务器之前,一切都正常。现在,当接收到新数据时,我的服务会断开大部分连接。 旧服务器安装了32位Windows XP,新服务器是英特尔服务器上的VMWare VM,Windows server 2008为64位。Python和twisted版本在两台服务器上都是相同的

在这里,您可以看到问题的一个片段:

ConnectionLost reason is: Connection to the other side was lost in a non-clean fashion.
Python版本是2.7.5,Twisted 12.3

以下是示例代码:

# -*- coding: utf-8 -*-
from twisted.internet import protocol, reactor
from twisted.python import log

class GreenProtocol(protocol.Protocol):

def __init__(self):
    self.ip = ''
    self.port = 0

def connectionMade(self):
    self.ip = self.transport.getPeer().host
    self.port = self.transport.getPeer().port
    log.msg("[{0}:{1}] NEW CONNECTION".format(self.ip, self.port))  

def dataReceived(self, data):
    log.msg("[{0}:{1}] DATA".format(self.ip,         self.port))                                    

def connectionLost(self, reason):
    log.msg("[{0}:{1}] CONNECTION LOST".format(self.ip, self.port)) 

class GreenFactory(protocol.ServerFactory):
    protocol = GreenProtocol

if __name__ == '__main__':
    factory = GreenFactory()
    reactor.listenTCP(5678, factory)
    log.startLogging(DailyLogFile('log.txt', 'logs'), setStdout=False)
    reactor.run()
建立连接后,每个客户端发送一条消息。但只有5-10条消息中的1条被记录。大多数客户端在发送消息后会失去连接,而服务器不会接收到该消息

显然,原因是:

Connection to the other side was lost in a non-clean fashion: read error -- unknown (64)
附言:我认为这不是我的错,因为当我用嗅探器听的时候,我得到了同样的结果


p.p.S:大约有700个客户端,其中只有70-100个可以发送数据,所有其他连接都已断开。

我找到了解决方案。问题是,供应商未经任何通知就更改了关税计划。新的电价计划限制了最大连接数。

这几乎不足以诊断您的问题。请用一个小程序重现内存泄漏,然后把这个程序放在这里。如果你不能在一个小程序中重现泄漏或连接中断,那么你需要更好地理解你的大程序。我添加了额外的解释和服务器上使用的代码。如果我运行它,这些代码不会起任何作用。请附上完整的程序。我附加了一个完整的程序更新网络适配器驱动程序,并验证到VMWare主机的物理以太网电缆/连接是否正确