1. I think I'm close
- Posted by Andy Briggs <briggsan at HOTMAIL.COM> Jan 11, 2000
- 452 views
I think this program is close to working. The problem is in the processAsyncMessage() procedure. I'm really not sure of what I'm doing here, so if someone could have a look and point me in the right direction, I would be grateful. Thanks... Andy here is what I have so far... include win32lib.ew include srvsckip.ew global sequence newsock,newIP,data global integer MainWindow,data_display,Server,hWndMainWindow,iwork global atom mySocket global constant SM_ASYNC = #FFFF iwork = WsockInit() hWndMainWindow = getHandle(MainWindow) Server = WsockListenAsync(23, hWndMainWindow, SM_ASYNC,or_all ({FD_READ,FD_ACCEPT,FD_CLOSE,FD_WRITE})) global procedure processAsyncMessage(atom hWnd, atom arg1, atom arg2) integer action action=lo_word(arg2) if action = FD_ACCEPT then newsock = WsockAccept(Server) newIP = WsockGetSockName(newsock) end if if action=FD_READ then data = WsockReadData(arg1, 3) setText(data_display,data) end if end procedure data_display = create(16,"", MainWindow, 10,10 ,350,40, 0 ) global procedure onEventMainWindow(integer eventID, atom arg1, atom arg2) if eventID = SM_ASYNC then processAsyncMessage(hWndMainWindow,arg1,arg2) end if end procedure onEvent[MainWindow] = routine_id("onEventMainWindow") WinMain(MainWindow,Normal)
2. Re: I think I'm close
- Posted by Brian Jackson <bjackson at 2FARGON.HYPERMART.NET> Jan 11, 2000
- 465 views
Andy, if you change the declaration of newsock from a sequence to an integer, it runs just fine. Looks like you're getting everything figured out! Nice work. Brian