回答編集履歴
2
アドレスを間違えて公開していた
answer
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
public class Client {
|
11
11
|
public static void Main() {
|
12
12
|
string sendMsg = "";
|
13
|
-
string host = "
|
13
|
+
string host = "xxx.xxx.xxx.xxx";
|
14
14
|
int port = 7777;
|
15
15
|
|
16
16
|
TcpClient tcp = new TcpClient(host, port);
|
1
複数回recvを考慮して修正
answer
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
解決しましたので、修正したソースコードを載せておきます。
|
2
2
|
|
3
3
|
```C#
|
4
|
-
//クライアント側
|
5
4
|
using System;
|
6
5
|
using System.IO;
|
7
6
|
using System.Net;
|
@@ -22,6 +21,7 @@
|
|
22
21
|
int resSize = 0;
|
23
22
|
|
24
23
|
do {
|
24
|
+
ms = new MemoryStream();
|
25
25
|
Console.WriteLine("enter message: ");
|
26
26
|
sendMsg = Console.ReadLine()+"\0";
|
27
27
|
byte[] sendBytes = Encoding.UTF8.GetBytes(sendMsg);
|
@@ -37,7 +37,7 @@
|
|
37
37
|
Console.WriteLine("" + resSize);
|
38
38
|
} while (stream.DataAvailable && resBytes[resSize - 1] != '\0');
|
39
39
|
|
40
|
-
string resMsg = Encoding.UTF8.GetString(ms.GetBuffer(),
|
40
|
+
string resMsg = Encoding.UTF8.GetString(ms.GetBuffer(), 0, (int)ms.Length);
|
41
41
|
//string resMsg = Encoding.UTF8.GetString(resBytes);
|
42
42
|
Console.WriteLine("response message: " + resMsg);
|
43
43
|
} while (sendMsg != "exit\0");
|