如果您查看此Socket.BeginSend()
方法的签名:
public IAsyncResult BeginSend(
byte[] buffer,
int offset,
int size,
SocketFlags socketFlags,
AsyncCallback callback,
Object state
)
我不明白buffer
和state
参数之间的区别。我有一个自定义类(包含 Socket 字段和其他自定义属性)。
通过创建一个字节数组并使用第一个参数(因此在缓冲区中)发送它们,或者最好使用第六个参数(状态对象)发送它们,发送到另一端的最佳方法是什么?
如果我在状态下发送它们,那么缓冲区用于什么?如果我将它们发送到缓冲区中,状态是否仅用于 StateObject 类?
还有一件事,我有许多自定义(和不同)类,我想发送到另一端,我将不得不做一些代码,这些代码会被某些参数“拆分”。怎么做?