服务器端:
CSocket ServerSocket;//用于监听的套接字然后Create Listen ... //这里没有问题 代码不细写了CSocket ToClientSocket;//用于和客户通信的套接字SOCKADDR ClientDDR;int nLengthAddr = sizeof(SOCKADDR);ServerSocket.Accept(ToClientSocket,&ClientDDR,&nLengthAddr);//此处开始阻塞ToClientSocket.Recieve(lpBuf,sizeof(lpAddress));//开始接收 接收的东东扔进lpAddress其中lpBuf这样定义的:wchar_t lpBuf[256];客户端:
CSocket ClientSocket//用于通信的套接字然后是Create Connect... //这里没有问题 代码就不细写了ClientSocket.Send(lpMyStr,sizeof(lpBuf));其中lpMyStr是这样定义的 wchar_t lpMyStr[] = "ABCDE";
然后开始连接通信 发现在我的服务器端的Recieve总是返回-1 无法接收 不知道是哪里错了 以为我的项目是基于Unicode的 所以我想直接传wchar_t 貌似Send的参数和Recieve的参数 是要求ANSI的 也就是char[] 是不是这里有问题 sizeof(lpBuf)得到的是字节数吧 不需要X2吧 这里
CSocket ServerSocket;//用于监听的套接字然后Create Listen ... //这里没有问题 代码不细写了CSocket ToClientSocket;//用于和客户通信的套接字SOCKADDR ClientDDR;int nLengthAddr = sizeof(SOCKADDR);ServerSocket.Accept(ToClientSocket,&ClientDDR,&nLengthAddr);//此处开始阻塞ToClientSocket.Recieve(lpBuf,sizeof(lpAddress));//开始接收 接收的东东扔进lpAddress其中lpBuf这样定义的:wchar_t lpBuf[256];客户端:
CSocket ClientSocket//用于通信的套接字然后是Create Connect... //这里没有问题 代码就不细写了ClientSocket.Send(lpMyStr,sizeof(lpBuf));其中lpMyStr是这样定义的 wchar_t lpMyStr[] = "ABCDE";
然后开始连接通信 发现在我的服务器端的Recieve总是返回-1 无法接收 不知道是哪里错了 以为我的项目是基于Unicode的 所以我想直接传wchar_t 貌似Send的参数和Recieve的参数 是要求ANSI的 也就是char[] 是不是这里有问题 sizeof(lpBuf)得到的是字节数吧 不需要X2吧 这里
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货