我做的协议用的接收缓冲区参数类型是uInt8,但是调用Socket recv()函数的话,参数类型是不是必须得是char far*buf?可以更改参数类型吗?是直接转换还是怎么处理?

解决方案 »

  1.   

    ..例如uInt8 test;
    recv(sock,(char*)&test.......);
      

  2.   

    谢谢你们,前天接受网友的意见,参考了一下Socket编程,因为我有C和VC++的基础,所以现在能够基本看懂了!但是对于个别参数的运用还是不太熟悉,谢谢你们,我会给分的!
      

  3.   

    在CWSocket类ReadData()函数中有段代码看不大懂,请指教!
    if(!m_bConnected || m_sSocket == NULL)
    {
    err = -1;
    return -1;
    } HANDLE hThread;
    DWORD dwThreadId;
    TPARA para; para.OutTime = timeout;
    para.s = m_sSocket;
    para.bExit = FALSE;
    para.IsExit = FALSE;
    para.pbConnected = &m_bConnected;
    hThread = CreateThread(NULL, NULL, TimeoutControl, (LPVOID)(&para), 0, &dwThreadId);
    if (hThread == NULL)
    return -1; int nRet = recv(m_sSocket, (char FAR*)&m_SockInfo.RxStr, m_SockInfo.StrLen, 0);
    if(nRet == SOCKET_ERROR)
    {
    err = WSAGetLastError();
        WSACleanup();
    return err;
    } para.bExit = TRUE;
    while(!para.IsExit) Sleep(1); return nRet;