質問編集履歴
2
「発生している問題・エラーメッセージ」にコンソール画面の内容を追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,6 +8,12 @@
|
|
8
8
|
よろしくお願い致します。
|
9
9
|
### 発生している問題・エラーメッセージ
|
10
10
|
ソケットを通じてメッセージを受け取ろうとしても接続待ちになってしまいます。
|
11
|
+
-
|
12
|
+
コンソールには以下が表示されます。(追記)
|
13
|
+
```
|
14
|
+
my ip address is now ... (IPアドレス)
|
15
|
+
Waiting for the connection ...
|
16
|
+
```
|
11
17
|
プログラムの実行を止めると以下のエラーが表示されます。
|
12
18
|
```
|
13
19
|
KeyboardInterrupt
|
1
ご指摘ありがとうございます。Maekdown記法で書き直しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,7 +14,9 @@
|
|
14
14
|
```
|
15
15
|
|
16
16
|
### 該当のソースコード
|
17
|
+
```python
|
18
|
+
<?python
|
17
|
-
|
19
|
+
#server.py
|
18
20
|
from concurrent.futures import ThreadPoolExecutor
|
19
21
|
import socket
|
20
22
|
import os
|
@@ -42,25 +44,25 @@
|
|
42
44
|
|
43
45
|
def main():
|
44
46
|
|
45
|
-
|
47
|
+
# AF_INET : IPv4ベースのアドレス体系を使う
|
46
|
-
|
48
|
+
# SOCK_STREAM : TCP/IPを使う
|
47
49
|
my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
48
50
|
|
49
|
-
|
51
|
+
# 多重接続になってもいいようにスレッドで処理する
|
50
52
|
executor = ThreadPoolExecutor(max_workers=os.cpu_count())
|
51
53
|
|
52
|
-
|
54
|
+
# 開くポート番号は適当に選ぶ
|
53
55
|
myhost = __get_myip()
|
54
56
|
print('my ip address is now ...', myhost)
|
55
57
|
my_socket.bind((myhost, 50030))
|
56
58
|
|
57
|
-
|
59
|
+
# 同時に接続する相手の数。今回は1
|
58
60
|
my_socket.listen(1)
|
59
61
|
|
60
62
|
try:
|
61
63
|
while True:
|
62
64
|
|
63
|
-
|
65
|
+
# 接続があるまで待機
|
64
66
|
print('Waiting for the connection ...')
|
65
67
|
conn, addr = my_socket.accept()
|
66
68
|
print('Connected by ...', addr)
|
@@ -75,7 +77,7 @@
|
|
75
77
|
main()
|
76
78
|
|
77
79
|
|
78
|
-
|
80
|
+
#client.py
|
79
81
|
import socket
|
80
82
|
|
81
83
|
my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
@@ -83,6 +85,9 @@
|
|
83
85
|
my_text = "Hello! This is test message from my sample client!"
|
84
86
|
my_socket.sendall(my_text.encode('utf-8'))
|
85
87
|
|
88
|
+
>
|
89
|
+
```
|
90
|
+
|
86
91
|
### 試したこと
|
87
92
|
|
88
93
|
デバッグを行うとaccept()で問題になっていることがわかりました。
|