【发布时间】:2013-04-02 13:48:01
【问题描述】:
我正在用 c# 编写一个应用程序。在该应用程序中我使用异步套接字通信。我编写的代码为
byte[] byteData = new byte[1024];
clientSocket.BeginReceiveFrom(byteData, 0, byteData.Length, SocketFlags.None, ref m_EpReceive, new AsyncCallback(OnRceiveCallBack), objReceiverSocketState);
在这里,我得到byteData 的可变大小意味着有时是 700 字节,有时是 276 字节(不固定)。在这里,我声明了 1024 大小的 byteData。所以我的问题是,有什么方法可以将byteData 的大小声明为接收到的确切数据量? (意味着假设我得到 500 个字节,所以 byteData 的大小应该是 500。)我也有疑问,如果我已将 byteData 的大小声明为 1024,那么它是否会等待获得总 1024 个字节,或者如果它得到一些字节然后它会调用OnRceiveCallBack 方法?请帮我。提前致谢。
【问题讨论】:
标签: c# visual-studio-2010 sockets asynchronous udp