サーバーで受信したデータからバイトを読み取らなければならないクライアント/サーバーアプリケーションを使用しています。JavaからC#に変換しようとしていますが、これを解決できないようです。T
Javaコード:
byte[] bucket = new byte[4];
this.socket.getInputStream().read(bucket, 0, 2);
そして今、私はC#で同じコードが必要です!あなたが私を助けてくれることを願っています!
サーバーで受信したデータからバイトを読み取らなければならないクライアント/サーバーアプリケーションを使用しています。JavaからC#に変換しようとしていますが、これを解決できないようです。T
Javaコード:
byte[] bucket = new byte[4];
this.socket.getInputStream().read(bucket, 0, 2);
そして今、私はC#で同じコードが必要です!あなたが私を助けてくれることを願っています!
同様のポートが必要な場合、最も賢明なことは、おそらくソケットをでラップすることです。これは、結果NetworkStream
と非常によく似た動作をしgetInputStream
ます(1回だけ実行する場合を除く)。
var ns = new NetworkStream(socket);
...
int bytesRead = ns.Read(bucket, 0, 2);
ただし、ns
完了時に(理想的にはを介してusing
)破棄されることを忘れないでください。Receive
ソケットを直接使用する場合は、ソケットのメソッドを使用する必要があります。
TCPクライアントを使用することをお勧めします 。
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サーバーの実装があります。この例は、ソケットから読み取る方法を示しています。