当前位置:编程学习 > C#/ASP.NET >>

Socket.BeginSend的第一个参数应该怎样定义才能和服务器上用c++写的接口包对上

接口包:   
class msgToSend
{  
int len=211;
string msg="nihao";

public byte[] ToByte()
        {
            List<byte> result=new List<byte>();

                
           result.AddRange(BitConverter.GetBytes(len));
            result.AddRange(Encoding.UTF8.GetBytes(msg));
           
            return result.ToArray();
        }
}
发送:
byte[] b = msgToSend.ToByte();
        
  clientSocket.BeginSend(b, 0, b.Length, SocketFlags.None, new AsyncCallback(OnSend), msgToSend);
对方接收方法:
nRecvLen = ntohl(Pktbuf.len) ;/取得包的长度
    if ( nRet = CSocketBase::enRecv( m_hSocket, &Pktbuf, nRecvLen, g_nTimeOut ) !=
                nRecvLen )
结果对方说接收的包的长度太大,无法接收数据!!请求高人指点


              
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,