Проблема вот какая .....на Сервере WM_SOCKET обрабатываетсяч все ок ...а вот на клиенте проходит мимо и я не пойму почему ......ниже приведен код ...основные жизнено важные функции ..... цикл обработки WM_SOCKET специально разместил по середине других циклов .....и говорю сразу что выше и ниже циклы все работают на ура .....а WM_SOCKET нет .... назначенная константа такая же как на сервере , назначение , единственное отличие что на клиенте invoke WSAAsyncSelect находится на ВНДПРОК а на сервере в ВИНМАЙН ............ В чем дело может быть ??? :O Вот то что на Клиенте ...не рабочее Код (Text): WM_SOCKET = WM_USER+100 ;######################################################################################## ;############################################################################### WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM ;///////////////////////////////////////////////////////////////////////////////////////// ;pushad .if uMsg==WM_CREATE ; invoke MessageBox,NULL,ADDR textbox,ADDR AppName,MB_OK .ELSEIF uMsg==WM_DESTROY invoke WSACleanup ; dll больше не нужна invoke PostQuitMessage,NULL .ENDIF .IF uMsg==WM_SOCKET .IF ax == FD_CONNECT invoke MessageBox,NULL,addr AppName,ADDR AppName,MB_OK .ELSEIF ax == FD_READ .ENDIF .ENDIF ;######################################################################################## ;######################################################################################## .IF uMsg==WM_COMMAND mov edx,wParam shr edx,16 ;######################################################################################## ;############################################################################### invoke WSAAsyncSelect, sock, hWnd, WM_SOCKET, FD_CONNECT or FD_READ or FD_CLOSE or FD_WRITE
Что значит "не проходит"? Не обрабатывается? Вылетает? Что возвращает функция? Что возвращает WSAGetLastError?