I want to write a LAN Bomberman Clone. So I start gathering Informations about WinSock... I found out that there are methods to make Winsock sending events to a Win32 window like, that there is data to reveive... Are these events compatible with OWL EventHandlers ? Could I make Winsock to notify an OWL TWindow or TApplication? Or could I define a WNDPROC for my OWL windows?
I also learned that there are two WinSock libs, one from Microsoft the other one is calles BSD. Which one should I use? Especcially concernig my OWL problems.
Where can I find other tutorials? I only found the ones at GDN
Thanks in advance !
Edited by - TheMummy on 6/11/00 11:38:36 AM
Winsock can generate windows messages when sockets are selected by WSAAsyncSelect(). The windows message number generated by the network event is specified by the programmer in the WSAAsyncSelect() call, so you can link it to whatever message you wish. Therefore you can create a handler for that message in your OWL application.
There are in fact several winsock libs and two (major) versions. Winsock 1.1 and Winsock 2.0. Some vendors of winsock dlls include Trumpet, MS and AOL. Don''t worry about which winsock dll is being used on the client machine. Just use the whatever lib file comes with your compiler for winsock, and don''t use any vendor specific extensions. You should be fine then.
I''m not too sure on what the BSD libs are for, but I would stick with the windows ones. That way you can use all of the WSA functions, such as WSAAsynchSelect () as mentioned below. The BSD sockets are unix-like sockets, and their calls are "99% compatible" with windows sockets.
Thaks so far, I have three Winsock headers : Winsock.h -> Winsock 1.1 Microsoft and Berkeley Software ????? -> int PASCAL FAR WSAAsyncSelect as a MS Extension winsock2.h-> corresponds to version 2.2.x of the WinSock API -> only form Berkley and finally owl\winsock.h -> includes winsock.h at the beginning -> Main header of the Winsock OWL subsystem
As you can see I will use Borlans Builder 3. Which one should I use ? I want to start the game as an OWL app. The user should be able to choose the server or create one. Then later I want to switch to Win32 or GLUT for the game itself.
Here is the next problem. I will open a win32 window. What should /can I do ? Shall/Can I let the OWL window with the Socket event handlers activated in the background? Or should I call WSAAsyncSelect again with the new Window as HWND handle?