首页
社区
课程
招聘
很简单的一句,居然会引起异常,各位看下
发表于: 2006-10-23 19:22 3619

很简单的一句,居然会引起异常,各位看下

2006-10-23 19:22
3619
_ProcDlgMain        proc        uses ebx edi esi hWnd,wMsg,wParam,lParam

                local        @stSin:sockaddr_in
                LOCAL        @temp:word
               
                mov        eax,wMsg
                .if        eax ==        WM_SOCKET
                        mov        eax,lParam
                        .if        ax ==        FD_ACCEPT
                invoke        RtlZeroMemory,addr @stSin,sizeof @stSin
                invoke        accept,wParam,addr @stSin,sizeof @stSin(就是这一句引起异常,到底怎么回事,尽量把不必要的代码去掉让大家看得舒服点)

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 214
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
invoke socket, PF_INET, SOCK_STREAM, IPPROTO_TCP
mov dwSock, eax
...
bind
listen
...
invoke accept, dwSock, 0, 0
2006-10-23 19:45
0
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
代码太少了,看不出问题所在。这是我以前写的

                mov        edx,lpSocketQueue
                push        [edx + eax * 4]
                call        WSAEnumNetworkEvents
                cmp        eax,SOCKET_ERROR
                je        SockError
                test        NetworkEvents.lNetworkEvents,FD_ACCEPT
                jz        EnumReadEvent
                or        NetworkEvents.iErrorCode[FD_ACCEPT_BIT * SIZEOF DWORD],0
                jnz        FailedToAcceptConnection
                invoke        accept,hGlobalListenSocket,ADDR remoteaddr,ADDR raddrlen
                cmp        eax,INVALID_SOCKET
                mov        [hTempSocket],eax
                je        FailedToAcceptConnection
2006-10-23 19:48
0
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
知道了,你那个accept的第二个参数必须是一个指向INT的指针,不是sizeof @stSin
2006-10-23 19:50
0
游客
登录 | 注册 方可回帖
返回
//