0
に送る私は、彼らがソケットPythonのソケットTCP誰か
に接続したときに、私は、ソケットのTCPサーバーの使用socket.sendto(文字列のすべてのクライアントを再コードソケットTCPサーバーと2つのソケットクライアント
def loopRedis(self):
socket = self.request
while True:
for key in r.scan_iter(match='push:*', count=100000):
# print key
##find the msg that I need to push
data = json.loads(r.get(key))
##get the userid from push:*
flag = False
for userKey in r.scan_iter(match='redis:*', count=100000):
if flag == False:
if r.hget(userKey,'userid') == data['userid']:
print '======='
print r.hget(userKey,'ip')
print int(r.hget(userKey,'id'))
print '|||||||||'
#find the map(ip and id and userid)from redis:*
socket.sendto(prpcrypt().encrypt(r.get(key)), (r.hget(userKey,'ip'),int(r.hget(userKey,'id'))))
flag = True
# r.delete(key) ##delete when I send
time.sleep(2) ## looping
を開始しました[、フラグ]、アドレス)メソッド。
しかし、なぜ両方のクライアントがデータを受信しましたか。私は誰かに送るだけです。
どうすればいいですか?ありがとうございました。
サーバーとクライアントから完全なコードを入れてもいいですか、私は本物ではなく単純化しています –
@ gsi-frank今はどうですか? –
問題を理解するためにあまりにも多くの作業を手伝ってくれるようにしてくれる多くの定型コード。問題に関係するコードを思いついてください:クライアントソケット、サーバーソケット、および汎用データ転送コード(スクリプトの詳細は除きますが、コードを乱雑にするもの) –