0

私はネットワークの作成に不慣れで、Pythonには比較的慣れていません。最近、いくつかのPythonプログラムを実行するために2台目のコンピューターを購入しました。その2番目のコンピューターは、メインコンピューターに格納されているmysqlデータベースにデータを入力します。

10055エラーがたくさん発生しています。selenium / urllibからの場合もあれば、mysqlデータベースへの接続の試行からの場合もあります。エラーは次のいずれかを提供します。

Selenium-Errno10055。システムに十分なバッファスペースがないか、キューがいっぱいであるため、ソケットでの操作を実行できませんでした。

MySQL-IPでMySQLサーバーに接続できません(10055)

私はこの問題の解決策を何時間も探しましたが、うまくいくものを見つけることができません。何か案は?

私はかなり強力なコンピューターでWindows7を実行しています。これがメモリの問題だとは本当に思えません。

問題を引き起こしているコードの1つは次のとおりです(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 に答える