線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2159
推到 Plurk!
推到 Facebook!

WSAAsyncSelect()使用的問題

尚未結案
victor-plus
一般會員


發表:4
回覆:2
積分:1
註冊:2008-09-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-19 19:38:38 IP:122.116.xxx.xxx 訂閱

[code cpp]
sendto(H_Socket,s_buf,sizeof(s_buf),0,(SOCKADDR*)&H_addr,sizeof(H_addr));
ret = WSAAsyncSelect(R_Socket,Handle,WM_SOCKET,FD_READ);

[/code]


在執行WSAAsyncSelect

請問WindowProc需要是需要我們自己去寫然後呼叫他嗎?

我在MSDN看好像是handle有訊息的話os就會自己杷WindowProc喚醒

底下是網路上找來的WindowProc,然後我是把Recvfrom寫在裡面,可是程式都不會進去裡面執行
[code cpp]
ULT CALLBACK WindowProc(HWND hDlg,UINT uMsg,WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_PAINT:
// Process window paint messages
break;
case WM_SOCKET:
// Determine whether an error occurred on the
// socket by using the WSAGETSELECTERROR() macro
if (WSAGETSELECTERROR(lParam))
{
// Display the error and close the socket
closesocket( (SOCKET) wParam);
break;
}
// Determine what event occurred on the
// socket
switch(WSAGETSELECTEVENT(lParam))
{
case FD_WRITE:
// The socket in wParam is ready
// for sending data
break;
case FD_CLOSE:
// The connection is now closed
//
closesocket( (SOCKET)wParam);
break;
case FD_READ:
recvfrom(R_Socket,(LPSTR)&ERP,sizeof(ERP),0,(SOCKADDR*)&R_addr,&R_size);
break;
}
break;
}
return TRUE;
}

[/code]
系統時間:2024-04-26 2:55:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!