当SendTo的第一个参数设为一个固定的字符串如“001441931111111111”时服务器能正常反应,而把该串先赋予一个String变量,服务器接受收到的好像是空字符串。
有那位好心人知道这是什末原因吗?谢先!

解决方案 »

  1.   

    你是不是传String的地址了,用(LPCSTR)强制转换String应该就可以了
      

  2.   

    不要用CString  用char就行了。如果你非用CString  那只能进行类型转换了
      

  3.   

    修改为如下后,服务器可以收到了,但是该程序运行时出现了新的错误。
    ------------------------------------------------------------------- if (!mysocket.Send((LPCSTR)upstring,18))
    {
    MessageBox("向服务器发送数据错误","提示",MB_ICONSTOP);
    return;
    }
    if (!mysocket.ReceiveFrom(&downstring,92,IPAddr,Port))
    {
    MessageBox("服务器返回数据错误    ","提示",MB_ICONSTOP);
    return;
    }
    -------------------------------------------------------------------客户端没有能收到服务器返回的数据,出错提示为某指令引用了某内存,该内存不能read....某内存不能write
      

  4.   

    if (!mysocket.ReceiveFrom(downstring.GetBuffer(256),92,IPAddr,Port))
    {
    MessageBox("服务器返回数据错误    ","提示",MB_ICONSTOP);
    return;
    }