接受数据的时候调用了
PerIoData->DataBuf.len = 1024;
PerIoData->DataBuf.buf = PerIoData->buffer;
WSARecv(PerHandleData->Socket,
&(PerIoData->DataBuf),
1,
&RecvBytes,
&Flags,
&(PerIoData->Overlapped),
NULL);PerIoData 是下面的结构体
typedef struct tagPER_IO_DATA
{
OVERLAPPED Overlapped;
WSABUF DataBuf;
char buffer[1024];
int BufferLen;
}PER_IO_DATA, *LPPER_IO_DATA;问题在于这样做可以接受客户端发送char之类的数据,但是现在我的客户端需要发送byte数据,客户端不能改,请教一下服务器端需要怎样修改才可以满足呢.补:客户端是DTU,单片机控制的,所以我不知道怎样的.在线等...
PerIoData->DataBuf.len = 1024;
PerIoData->DataBuf.buf = PerIoData->buffer;
WSARecv(PerHandleData->Socket,
&(PerIoData->DataBuf),
1,
&RecvBytes,
&Flags,
&(PerIoData->Overlapped),
NULL);PerIoData 是下面的结构体
typedef struct tagPER_IO_DATA
{
OVERLAPPED Overlapped;
WSABUF DataBuf;
char buffer[1024];
int BufferLen;
}PER_IO_DATA, *LPPER_IO_DATA;问题在于这样做可以接受客户端发送char之类的数据,但是现在我的客户端需要发送byte数据,客户端不能改,请教一下服务器端需要怎样修改才可以满足呢.补:客户端是DTU,单片机控制的,所以我不知道怎样的.在线等...
给WSARecv的缓冲不是char吗? 客户端发来的是byte啊(单片机可以发char?,我不清楚)
在楼主这种通讯环境下,我想应该不需要做类型转换的.
这样啊,现在还没得测试,所以不知道自己写了一个模拟单片机发送数据的程序,用了一个byte数组发送,结果这边接受是乱码(这个怎样解决?).不知道这个模拟对吗?