0

我是创建网络的新手,对 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
4

1 回答 1

0

我想我有一个解决办法。更多的测试将证实。我将 windows7 机器上的临时端口数量增加到 65,000 个。有关说明,请参见下文。

如何在 Windows 机器中更改/查看临时端口范围

于 2013-03-01T01:27:16.330 回答