これは私がやろうとしていることです。私は入ってくるソケットプログラムからバイトデータを取っています。デフォルトでは、エンコードされ、文字列に追加されるために渡されるバイトは1500バイトになります。これは、バイト配列に対して定義したサイズなのでです。私の質問は、1500バイト全体の代わりにバイト配列の一部を渡す方法を知りたいと思います。C#で文字列に移動するバイト数を指定します。
IPAddress localAddr = IPAddress.Parse(args[0]);
System.Console.WriteLine("The local IP is {0}", localAddr);
Int32 port = int.Parse(args[1]);
System.Console.WriteLine("The port is {0}", port);
TcpListener myListener = new TcpListener(localAddr, port);
byte[] bytes = new byte[1500];
string sem = "";
do
{
int flag = 0;
int rec = 1;
Console.Write("Waiting");
myListener.Start();
Socket mySocket = myListener.AcceptSocket();
// receiving the hl7 message
StringBuilder sbb = new StringBuilder();
do{
// bytes = null;
rec = mySocket.Receive(bytes,SocketFlags.None);
// rec = mySocket.Receive(bytes);
Console.WriteLine("rec = {0} ",rec);
for (int i=0; i<bytes.Length; i++)
{
if (bytes[i]==0x1C)
{
flag = 1;
}
}
sbb.Append(Encoding.ASCII.GetString(bytes));
}while (flag == 0);
どのような言語ですか?適切なタグを付けてください。 –
申し訳ありません...タイトルが変更されました。 –
私はsbbがStringBuilderであると推測しています。文字列ではありません。そしてあなたの質問は、とにかく意味がありません。なぜ、空のバイト配列を文字列ビルダーに追加したいのですか? –