Errno 10055无法在Windows上连接Python网络相关代码

时间:2013-02-28 20:16:11

标签: python windows networking

我是创建网络的新手,而且是python的新手。我最近购买了第二台计算机来运行一些python程序。第二台计算机将数据输入到我的主计算机上的mysql数据库中。

我收到了很多10055错误。有时从selenium / urllib,有时从尝试连接到mysql数据库。错误要么提供:

Selenium - Errno 10055.无法执行套接字上的操作,因为系统缺少足够的缓冲区空间或队列已满:

MySQL - 无法连接到IP上的MySQL服务器(10055)

我已经搜索了几个小时来解决这个问题,但是找不到一个有效的方法。有什么想法吗?

我在一台非常强大的计算机上运行Windows 7。我真的怀疑这是一个记忆问题。

导致问题的代码之一是以下(我无法连接到mysql服务器) - 它有时只会出现问题:

    def connect_to_database(schema_name):
             import MySQLdb
             import socket
             counter = 0
    #try 100 times until a connection is made
             while counter <= 100:
                    try:
    #gets ip of host comp
                            ip = socket.gethostbyname('PC NAME')
                            conn = MySQLdb.connect(ip, "username", "pw", schema_name)
                            c = conn.cursor()
                            conn.set_character_set('utf8')
                            c.execute('SET NAMES utf8;')
                            c.execute('SET CHARACTER SET utf8;')
                            c.execute('SET character_set_connection=utf8;')
                            break
                    except Exception, err:
                            print traceback.format_exc()
                            try:
   #if failure, use different ip, so far i have only seen 2 ip's for the network.
                                    if socket.gethostbyname(socket.gethostname()) == '10.0.0.13':
                                            ip = '10.0.0.14'
                                    else:
                                            ip = '10.0.0.13'
                                    conn = MySQLdb.connect(ip, "username", "pw", schema_name)
                                    c = conn.cursor()
                                    conn.set_character_set('utf8')
                                    c.execute('SET NAMES utf8;')
                                    c.execute('SET CHARACTER SET utf8;')
                                    c.execute('SET character_set_connection=utf8;')
                                    break
                            except Exception, err:
                                    print traceback.format_exc()
                                    counter = counter + 1
            return c, conn

1 个答案:

答案 0 :(得分:0)

我想我有一个解决方案。更多测试将证实。我将windows7机器上的外围端口数量增加到65,000。请参阅下面的说明。

how to change/view ephemeral port range in windows machines