我正在使用一个客户端/服务器应用程序,我必须从服务器上接收到的数据中读取字节。我正在尝试将其从 Java 转换为 C#,但我似乎无法解决这个问题!吨
Java代码:
byte[] bucket = new byte[4];
this.socket.getInputStream().read(bucket, 0, 2);
现在我需要 C# 中的相同代码!希望你能帮帮我!
我正在使用一个客户端/服务器应用程序,我必须从服务器上接收到的数据中读取字节。我正在尝试将其从 Java 转换为 C#,但我似乎无法解决这个问题!吨
Java代码:
byte[] bucket = new byte[4];
this.socket.getInputStream().read(bucket, 0, 2);
现在我需要 C# 中的相同代码!希望你能帮帮我!
如果你想要一个类似的端口,最明智的做法可能是将套接字包装在 aNetworkStream
中,然后它的行为很像getInputStream
结果(除了你只会做一次),即
var ns = new NetworkStream(socket);
...
int bytesRead = ns.Read(bucket, 0, 2);
但请记住确保ns
在完成后处理它(最好是通过using
)。如果要直接使用套接字,则必须使用Receive
套接字上的方法。
您可能想使用 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);
在System.Net.Sockets.TcpListener的示例代码中有一个超级简单的 http 服务器实现。该示例显示了如何从套接字读取。