質問編集履歴

3

2021/11/24 08:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
- サーバーの並行型通信の課題でコメント1~4について追加でプログラムをのですが
1
+ サーバーの並行型通信の課題でコメント1~4については自分考えてプログラムを記述するとう内容課題なのですが
2
-
2
+
3
- 正常に動作しません。
3
+ 正常に動作しませんでした
4
4
 
5
5
  Client1(0.0.0) connected
6
6
 
@@ -8,6 +8,8 @@
8
8
 
9
9
  と一度に表示されてしまいます。
10
10
 
11
+ つまりメッセージの送受信が出来ない状態です。
12
+
11
13
  何が原因か具体的に教えて欲しいです。
12
14
 
13
15
  環境はLinuxのターミナルで動かしています。

2

2021/11/24 08:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,12 @@
1
1
  サーバーの並行型通信の課題でコメント1~4について追加でプログラムを書いたのですが
2
2
 
3
- うまくません。
3
+ 正常に作しません。
4
+
5
+ Client1(0.0.0) connected
6
+
7
+ Client1 disconnected
8
+
9
+ と一度に表示されてしまいます。
4
10
 
5
11
  何が原因か具体的に教えて欲しいです。
6
12
 

1

コメントの詳細を加えました

2021/11/24 08:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -122,7 +122,7 @@
122
122
 
123
123
 
124
124
 
125
-           //1
125
+           //1. 引数用の構造体のメモリを確保する
126
126
 
127
127
  args = (struct ThreadArgs *)malloc(sizeof(struct ThreadArgs));
128
128
 
@@ -130,7 +130,7 @@
130
130
 
131
131
            
132
132
 
133
- //2
133
+ //2.通信用ソケットディスクリプタ、クライアント番号、アドレス構造体を確保した構造体にセット
134
134
 
135
135
  args->sock = listen_sock;
136
136
 
@@ -142,7 +142,7 @@
142
142
 
143
143
 
144
144
 
145
- //3
145
+ //3.pthread_create()でスレッドを作成
146
146
 
147
147
  if (pthread_create(&thread_id, NULL, (void *)thread, (void *)args) != 0){
148
148
 
@@ -178,7 +178,7 @@
178
178
 
179
179
 
180
180
 
181
-      //4
181
+      //4.argから通信用ソケットディスクリプタ、クライアント番号、アドレス構造体を取得し、それぞれsock,cnt,saにセット
182
182
 
183
183
  sock = ((struct ThreadArgs *)arg)->sock;
184
184