質問編集履歴

1

メッセージが送信されない

2020/04/08 04:40

投稿

Yuta_for
Yuta_for

スコア21

test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,117 @@
63
63
 
64
64
 
65
65
  わかる方がいましたらどうかご教授お願いいたします。
66
+
67
+
68
+
69
+ # 追記ソケットメッセージが送信されない
70
+
71
+
72
+
73
+ 回答者様のおかげでポートの誤りに気づきましたが、その後にクライアントからサーバへsocket通信を実行してもメッセージが送信できない事象に見舞われました。
74
+
75
+ ```cleint
76
+
77
+ import socket
78
+
79
+
80
+
81
+ TCP_IP = '127.0.0.1'
82
+
83
+ TCP_PORT = 49155
84
+
85
+ BUFFER_SIZE = 1024
86
+
87
+ MESSAGE = b'Hello, World!'
88
+
89
+
90
+
91
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Generete socekt(IP v4) and TCP
92
+
93
+ s.connect((TCP_IP, TCP_PORT)) # Specify IP address and port
94
+
95
+ s.send(MESSAGE) # Send Message
96
+
97
+ data = s.recv(BUFFER_SIZE) #receive buffer size
98
+
99
+ s.close()
100
+
101
+
102
+
103
+ print("received data", data)
104
+
105
+
106
+
107
+
108
+
109
+ /home/yuta/Desktop/work/python/PycharmProjects/TestPJ/venv/bin/python /home/yuta/Desktop/work/python/PycharmProjects/TestPJ/networking/client.py
110
+
111
+ received data b''
112
+
113
+
114
+
115
+ Process finished with exit code 0
116
+
117
+ ```
118
+
119
+
120
+
121
+ ```server
122
+
123
+ import socket
124
+
125
+
126
+
127
+ TCP_IP = '127.0.0.1'
128
+
129
+ TCP_PORT = 49155
130
+
131
+ BUFFER_SIZE = 1024
132
+
133
+
134
+
135
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Generete socekt(IP v4) and TCP
136
+
137
+ s.bind((TCP_IP, TCP_PORT)) # Specify IP address and port
138
+
139
+ s.listen(1) # Prepare to connect socket
140
+
141
+
142
+
143
+ conn, addr = s.accept() # Wait for connection socket
144
+
145
+ print("Connection address:". addr)
146
+
147
+ while 1:
148
+
149
+ data = conn.recv(BUFFER_SIZE)
150
+
151
+ if not data: break
152
+
153
+ print("received data:", data)
154
+
155
+ conn.send(data) # echo
156
+
157
+ conn.close()
158
+
159
+
160
+
161
+ Traceback (most recent call last):
162
+
163
+ File "/home/yuta/Desktop/work/python/PycharmProjects/TestPJ/networking/server.py", line 12, in <module>
164
+
165
+ print("Connection address:". addr)
166
+
167
+ AttributeError: 'str' object has no attribute 'addr'
168
+
169
+
170
+
171
+ Process finished with exit code 1
172
+
173
+ ```
174
+
175
+
176
+
177
+ エラーの内容としてクライアント側でそもそも送信するためのメッセージが生成されていないように思いましたが、何が間違っているのか不明です。
178
+
179
+ わかる方いましたらご教授お願いいたします。