-1

我正在使用一个客户端/服务器应用程序,我必须从服务器上接收到的数据中读取字节。我正在尝试将其从 Java 转换为 C#,但我似乎无法解决这个问题!吨

Java代码:

byte[] bucket = new byte[4];
this.socket.getInputStream().read(bucket, 0, 2);

现在我需要 C# 中的相同代码!希望你能帮帮我!

4

3 回答 3

4

如果你想要一个类似的端口,最明智的做法可能是将套接字包装在 aNetworkStream中,然后它的行为很像getInputStream结果(除了你只会做一次),即

var ns = new NetworkStream(socket);
...
int bytesRead = ns.Read(bucket, 0, 2);

但请记住确保ns在完成后处理它(最好是通过using)。如果要直接使用套接字,则必须使用Receive套接字上的方法。

于 2012-11-23T21:28:39.180 回答
2

您可能想使用 TCP Client

   TcpClient client = new TcpClient(server, port);
   NetworkStream stream = client.GetStream();
   Byte[] data = new Byte[4;
   stream.Read(data, 0, data.Length);

编辑:假设您已经可以访问套接字,请在下面尝试(使用Socket#Receive):

   byte[] bucket = new byte[4];
   int bytesRec = socket.Receive(bucket);
于 2012-11-23T21:21:29.643 回答
0

在System.Net.Sockets.TcpListener的示例代码中有一个超级简单的 http 服务器实现。该示例显示了如何从套接字读取。

于 2012-11-23T21:21:19.550 回答