質問
Web 上で動作するソケットサーバーを作成するには?
それは単に正しくポート転送することの問題ですか、それともドメインを購入する必要がありますか?
ドメインが必要な場合、これを行う無料の方法はありますか?
バックグラウンド
私は現在、Windows 7 (32 ビット) で Python 2.7.3 を使用して基本的なIMプロジェクトに取り組んでいます。
Python を使用して、コンソールから友人のコンピューターの 1 つにメッセージを送信したいと考えています。 これは非常に貴重ですが、1 台のマシン内でしか機能しません。
インターネット経由でメッセージを送信する試みで、いくつかの戦略を使用してみました。
最終的には自分の Mac をサーバーとして使用することになるため、Port Mapを使用してさまざまなポートをポート転送しました。これを行うと、Python は次のエラー メッセージを表示して応答します。
Enter the PORT number (1 - 10,000)4235 Socket Created Bind failed. Error Code : 49 Message Can't assign requested address Traceback (most recent call last): File "/Users/BigKids/Desktop/Server v3.py", line 18, in <module> sys.exit() SystemExit
自分の IP アドレスをポートとして単純に入力しようとしましたが、エラー メッセージが表示されます。
Please enter the host's IP >>> 68.***.***.128 Enter the PORT number (1 - 10,000)2432 Socket Created Bind failed. Error Code : 10049 Message The requested address is not valid in its context Traceback (most recent call last): File "D:\Python Programs\Sockets\First Project\Server v3.py", line 19, in <module> sys.exit() SystemExit
必要なコードは次のとおりです。
HOST = raw_input("Please enter the host's IP >>> ") PORT = input ("Enter the PORT number (1 - 10,000)") s = socket.socket(socket.AF_INET, socket.SOCK_STREAM ) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) print "Socket Created" try: s.bind((HOST, PORT)) except socket.error, msg: print "Bind failed. Error Code : " + str(msg[0]) + " Message " + str(msg[1]) sys.exit()