回答編集履歴
5
指摘追加
test
CHANGED
@@ -35,3 +35,13 @@
|
|
35
35
|
(追記)コードが更新されましたが、0初期化した後1024と比較しているため一度もループ実行されません。
|
36
36
|
|
37
37
|
・`fwrite`の書き込みサイズが受信した`data.send_size`を使用せず`1024`固定になっている。
|
38
|
+
|
39
|
+
・条件式が代入文になっています。
|
40
|
+
|
41
|
+
```diff
|
42
|
+
|
43
|
+
-if(errno=ENOMSG)
|
44
|
+
|
45
|
+
+if(errno==ENOMSG)
|
46
|
+
|
47
|
+
```
|
4
コード更新に合わせて追記
test
CHANGED
@@ -32,4 +32,6 @@
|
|
32
32
|
|
33
33
|
・`data.send_size`に修正したとしても、初期化されていないままwhileの条件式に使用している。
|
34
34
|
|
35
|
+
(追記)コードが更新されましたが、0初期化した後1024と比較しているため一度もループ実行されません。
|
36
|
+
|
35
37
|
・`fwrite`の書き込みサイズが受信した`data.send_size`を使用せず`1024`固定になっている。
|
3
文言修正
test
CHANGED
@@ -30,6 +30,6 @@
|
|
30
30
|
|
31
31
|
ほかにぱっと見で気づいた点。
|
32
32
|
|
33
|
-
・
|
33
|
+
・`data.send_size`に修正したとしても、初期化されていないままwhileの条件式に使用している。
|
34
34
|
|
35
35
|
・`fwrite`の書き込みサイズが受信した`data.send_size`を使用せず`1024`固定になっている。
|
2
受信側問題点追記
test
CHANGED
@@ -3,3 +3,33 @@
|
|
3
3
|
`data.mtype`や`data.send_size`の誤りでしょう。
|
4
4
|
|
5
5
|
あといくつか全角スペースが入っています。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
---
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
> Recieve 0: (ここにバイナリの文字が3文字ランダムで表示されている状態です)
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
`fputs(b.mtext,stdout);`
|
18
|
+
|
19
|
+
で初期化されていない`b.mtext`を出力しているためです。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
---
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
- 受信側
|
28
|
+
|
29
|
+
etsuhisaさんも指摘されているようにデータを受け取る前に`fwrite`を呼んでしまっています。
|
30
|
+
|
31
|
+
ほかにぱっと見で気づいた点。
|
32
|
+
|
33
|
+
・初期化されていない`send_size`をwhileの条件式で使用している。
|
34
|
+
|
35
|
+
・`fwrite`の書き込みサイズが受信した`data.send_size`を使用せず`1024`固定になっている。
|
1
文言修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
コンパイラのエラーの通り`
|
1
|
+
コンパイラのエラーの通り`send_size`(と`mtype`)が宣言されていません。
|
2
2
|
|
3
3
|
`data.mtype`や`data.send_size`の誤りでしょう。
|
4
4
|
|