前回はごめんなさい。pythonでcgiとソケット
どうもこんにちは。
この前の質問は補足しようと思いサブアカウントを作成したら
利用規約に引っかかったみたいで削除されてしまいました。
自分が何も知らないばかりに回答者の方々には不快な思いをさせてしまったことをお詫びします。
本題ですが、
pythonのプログラムをサーバーで動かそうと思って、
.cgiのファイルを作成しました。
そして、httpの形にして文字を表示することは出来たのですが、
本当にしたいのはソケット通信なんです。
自分のPCでのソケット通信(サーバー&クライアント)はできますし、
cgiも簡単なものなら動くようになりました。
が、cgiでソケット通信ができません。
httpのリクエストでgetしろよ。と思うかもしれませんが、
ソケット通信じゃないとダメなんです。
無理なら諦めますが、出来るならやり方を教えて下さい。
自分のPCでのソケット通信のプログラムは以下のものとなります。
#!/usr/local/bin/python
#coding: utf-8
import socket
import time
host = "localhost"
port = 50000
data = "HOST:"+host+"\nPort:"+str(port)
port = int(port)
print ("python socket server")
print (data)
while(True):
print ("wait...\n")
sock_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock_server.bind((host, port))
sock_server.listen(1)
connect, addr = sock_server.accept()
print ("Connect...\naddress:", addr)
while(True):
mes = connect.recv(1024)
if not mes : break
print ("Getmessage:", mes)
connect.send("server message")
print ("send message:server message")
sock_server.close()
これをサーバーに移そうと思うとこのままですとlocalhostでエラーが出ます。
なのでこれをgethostnameやgethostbynameにしようとすると、
こりゃまたエラーが出てしまいます。
どうしたら出来るのでしょうか??
サーバーは@pagesを今は使っていますが、
将来的には個人のサーバー(独自ドメインの)で動かすことになると思います。
お礼
ありがとうございます。 そういえば4月いっぱいで前のプロバイダの契約が切れているのを忘れていました。 メールアドレスの設定を現在のプロバイダのメールアドレスを標準にしたら直りました。