关于IOCP WSASend发送数据到客户端 出现LastError 为6的问题。。折腾我半天啊!

WSAGetLastError 为 6的错误码

说明发送句柄为空,找不到这个句柄,

原因是没有 ZerMemory(&over,sizeof(OVERLAPPED));   对这个结构体初始化

后来网上找了很久原因是

关于

 

typedef struct _OVERLAPPED {
    ULONG_PTR Internal;
    ULONG_PTR InternalHigh;
    union {
        struct {
            DWORD Offset;
            DWORD OffsetHigh;
        } DUMMYSTRUCTNAME;
        PVOID Pointer;
    } DUMMYUNIONNAME;

    HANDLE  hEvent;
} OVERLAPPED, *LPOVERLAPPED;

 

hEvent被填充为0xCCCCCCCC,或其他的,就会出现"句柄无效"的错误

 

但使用了ZeroMemory时,hEvent被填充为0x00000000,好像也不是有效的句柄,但不会出现以上错误。。记录下来。。

总之IOCP还是很多细节问题,够蛋疼的

posted @ 2012-09-12 12:10  稳扎稳打  Views(1227)  Comments(0Edit  收藏  举报