私はJSとPythonには比較的新しいので、これはおそらく初心者の質問です。 JSクライアントからPython Serverに文字列を送信しようとしています(文字列を別のPythonクライアントに送信しようとしています)。JSクライアントとPythonサーバーを接続する
これは私のコードです:
JSクライアント:
var socket = io.connect('http://127.0.0.1:8484');
socket.send('lalala');
Pythonのサーバー:
HOST = '127.0.0.1'
PORT = 8484
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(2)
#JS
conn1, addr1 = s.accept()
print 'Connected by', addr1
#PY
conn2, addr2 = s.accept()
print 'Connected by', addr2
while 1:
try:
data = conn1.recv(1024)
except socket.error:
print ''
if data:
print data.decode('utf-8')
conn2.send('data')
Pythonクライアント:
def __init__(self): #inicializacion
self.comando = '0'
self.HOST = '127.0.0.1'
self.PORT = 8484
self.cliente = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
fcntl.fcntl(self.cliente, fcntl.F_SETFL, os.O_NONBLOCK)
def activate(self):
print "Plugin de envio en marcha."
def deactivate(self):
print "Plugin de envio off."
def __call__(self, sample):
self.cliente.connect((self.HOST, self.PORT))
try:
self.comando = self.cliente.recv(1024).decode('utf-8')
except socket.error, e:
self.comando = '0'
print "******************"
print self.comando
print "******************"
私はランダムに送信問題はありませんPythonからの文字列サーバーをPythonクライアントに接続できますが、JSクライアントからは受信できません。
GET /socket.io/1/?t=1472322502274 HTTP/1.1
Host: 127.0.0.1:8484
Connection: keep-alive
Origin: http://127.0.0.1:8880
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36
Accept: */*
Referer: http://127.0.0.1:8880/normal.html
Accept-Encoding: gzip, deflate, sdch
Accept-Language: es-ES,es;q=0.8
Cookie: io=e7675566ceab4aa1991d55cd72c8075c
しかしI:例えば
Connected by ('127.0.0.1', 52602)
Connected by ('127.0.0.1', 52603)
しかし、私はJSから受け取る何、これはされています。私は、サーバーとクライアントを実行すると
が接続に問題はありません文字列 'lalala'が必要です。
アイデア?
(そしてありがとう!)
ありがとうございました!しかし、私は今この問題を抱えています:required.js:417 Uncaught Error:モジュール名 "net"がまだコンテキストのためにロードされていません:_。 require([]) http://requirejs.org/docs/errors.html#notloadedを使用してください。私はそれを解決しようとしましたが、私が使用する場合:require(['net']、function(net){ }); 私が持っている: required.js:2417 GET http://127.0.0.1:8880/net.js 500(内部サーバーエラー) VM1275:1キャッチされないでSyntaxError:予期しない識別子 と: required.js:417不明なエラーを:モジュールのロードタイムアウト:ネット http://requirejs.org/docs/errors.html#timeout アイデア? – DidiNa
@DidiNaブラウザでこれを行いますか? –
はい、私はユーザーが文字列を書くWebアプリケーションを持っています:html - > js - > node.js - > python server - > python client。私の問題は今、jsからnode.jsに文字列を送ることです。 – DidiNa