Simple Client/Svr, IP Communication... HOW?

Started by
4 comments, last by Brian 24 years, 3 months ago
Here''s the problem: I''ve got to write a client app and a server app that pass some simple data back and forth (i.e. flags and text messages) via TCP/IP (internet). For example, multiple users can log onto the server with a password and username, through a simple control panel. The password/username/other info are sent to the server-side app, which in turn passes info back to the client app. I was going to do this with DirectPlay, but I encountered a small glitch, in that the server must be NT 4. Since NT does not support DirectX 7, I have the following questions: 1) Am I correct in assuming that if this app were written in any version of DirectX higher than DirectX 3, the DirectPlay component would not work on NT 4 (w/latest service pack)? 2) Assuming I did decide to write it using DirectX 3, what were the changes between DX 3''s DirectPlay and DX 5''s DirectPlay? (I''m using Inside DirectX for reference). And for that matter, where coule I get the DirectX 3 SDK? 3) Since I''m not actually implementing this into a game, is there an easier way? Is DirectPlay overkill in this case? Is there a simple API out there that would help me? (I don''t know anything about network programming, and I don''t have much time to learn). Any help would be much appreciated. Thanks!
Advertisement
Hi!

Chek out the Winsock API. It is designed to handle networking through sockets. You can do UDP or TCP/IP and it is pretty simple. Check out www.flipcode.com, they had a Networking Series, which explained the basics of using Winsock. Using this and the online help, you should be able to figure things out. Winsock should be available on all windows platforms, so you shouldn''t run into any NT problems.

Hope this helps,

Marco Koegler
1) DirectX beyond 3 isn''t supported under NT4.0.
2) I believe that Visual C++ 5.0 shipped with DX3 headers and libraries. The MSDN Library version that ships with VC 5.0 also contains the DX3.0 (and 2.0) SDK documentation.
3) I would also recommend using sockets rather than DirectPlay. Though, since you have a simple server, you might consider writing it in berkeley sockets rather than windows sockets. Using p_threads might be easier than trying to untangle the Winsock multi-processing architecture. Of course it might be easier to get help on the winsock functions.
I have written some Winsock TCP/IP code (C/C++) that I can zip up and forward to you. I have a server that has a Dialog interface, I wrote this in MFC as it was only and example. I stayed away from the MFC CSocket etc... and wrote my own class using winsock. It''s not well documented but you should be able to read the code.
Let me know

David "Dak Lozar" Loeser
Dave Dak Lozar Loeser
"Software Engineering is a race between the programmers, trying to make bigger and better fool-proof software, and the universe trying to make bigger fools. So far the Universe in winning."--anonymous
Thanks, that would be helpful. I''m actually more of a Win32 API guy, but your code might come in handy later if I decide to switch over to MFC.

My email is btrewin@home.com.

Thanks again!
Perhaps I''m wrong, but I remember hearing that SP5 or something like that added DirectPlay 6.1 support to Windows NT 4.0.

Correct me if I''m wrong. Though, most servers running NT4 will be upgraded to Windows 2000. And Windows 2000 has full support for DirectX.

-Dan Smith
dans@3dgamedev.com
D. Smith

This topic is closed to new replies.

Advertisement