回答編集履歴

1

追記

2021/08/17 03:55

投稿

otn
otn

スコア84607

test CHANGED
@@ -9,3 +9,35 @@
9
9
 
10
10
 
11
11
  それとも日本語が正しい場合は、`connect`じゃなくて`bind`と`listen`で同時に2つのポートで待ち受けられます。
12
+
13
+
14
+
15
+ #追記
16
+
17
+ クライアントから、サーバーにあらかじめTCPコネクションを2つ張っておいて、
18
+
19
+ 両方のコネクションを同時に受信チェックしたいということのようですね。
20
+
21
+
22
+
23
+ `select`を使って入力のあるソケットを教えてもらうのが簡単です。
24
+
25
+
26
+
27
+ ```Python
28
+
29
+ import select
30
+
31
+
32
+
33
+ socks = select.select([socket1,socket2],[],[])[0]:
34
+
35
+ for sock in socks:
36
+
37
+ data = sock.recv(1024)
38
+
39
+ print(f"ポート {sock.getsockname()[1]} から返ってきた")
40
+
41
+ ```
42
+
43
+ 必要に応じて、第4引数でタイムアウト値を指定して下さい。タイムアウト時は`socks`が空リストになります。