DirectPlay8 is *way* better than previous versions. On websites related to multiplayer programming you often find think that say that DirectPlay is not good for MP programming. well, it was for every version lower than 7 in my opinion. DP8 is designed for maximum control over the packet size. (Except for the UDP headers then, but you can''t change that anyway)
bit64: I understand completely what you mean; not everyone needs it and if they wouldn''t need it, it would only be more overhead.
And yes, it''s easy to get it from the server (Sending it as High priotity, and guarenteed). But I just wondered if it would be possible... the hours I''ve searched on the SDK docs for this :o)
Ragonastick: Are you the Rag from the VB Boards?
Almar
🎉 Celebrating 25 Years of GameDev.net! 🎉
Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!
Winsock vs DirectPlay
Yes. I''m a VBist (the VBist you are referring to that is
)
And I don''t want to make this a completely useless post, so I''ll try and add something to the discussion
... or maybe just a question:
How much slower is DPlay compared to Winsock?
![](smile.gif)
And I don''t want to make this a completely useless post, so I''ll try and add something to the discussion
![](smile.gif)
How much slower is DPlay compared to Winsock?
You probably won''t really notice. I guess the network layer is Like:
Dev. Environment/Exe
|
DirectPlay
|
Winsock
btw, the bandwith remains the same for data transfer, so that wouldn''t matter. I think the time you save by using DirectPlay is so much higher than the so little (if any) slow down of your program.
Dev. Environment/Exe
|
DirectPlay
|
Winsock
btw, the bandwith remains the same for data transfer, so that wouldn''t matter. I think the time you save by using DirectPlay is so much higher than the so little (if any) slow down of your program.
Hello everyone,
I really ant to use DirectPlay 8, however, I''m having a hard time trying to learn it through the Docs MS made for it. I''m not sure if I am the only one with this opinion, but I think that Microsoft did a really crappy job with the Documentation for Direct Play.
Does anyone know of any other resources where I can learn DP8? I want to use it to make a MMORPG. Might I be better off just going with Winsock?
Thanks for any input....
Michael Rhodes
I really ant to use DirectPlay 8, however, I''m having a hard time trying to learn it through the Docs MS made for it. I''m not sure if I am the only one with this opinion, but I think that Microsoft did a really crappy job with the Documentation for Direct Play.
Does anyone know of any other resources where I can learn DP8? I want to use it to make a MMORPG. Might I be better off just going with Winsock?
Thanks for any input....
Michael Rhodes
mrhodes:
Well, you could wait for my book in June, it teaches both Sockets and Direct Play.![](wink.gif)
Anyway, here is my $0.02 worth again:
1. Winsock - Great if you want the lowest-level of control possible.
2. Direct Play - Great if you don''t want to re-invent the wheel.
Personally, I have used both. I still use both. Not in the same app of couse. But I use whichever makes the most sense for the task at hand.
Here is a hint for you though, I am developing a MMORPG and it utilizes Direct Play 8. On the other hand, I have wrapped the communication code so that I can switch to another API (i.e. sockets) if I need to.
Lost Logic
webmaster@lostlogic.com
www.lostlogic.com
Well, you could wait for my book in June, it teaches both Sockets and Direct Play.
![](wink.gif)
Anyway, here is my $0.02 worth again:
1. Winsock - Great if you want the lowest-level of control possible.
2. Direct Play - Great if you don''t want to re-invent the wheel.
Personally, I have used both. I still use both. Not in the same app of couse. But I use whichever makes the most sense for the task at hand.
Here is a hint for you though, I am developing a MMORPG and it utilizes Direct Play 8. On the other hand, I have wrapped the communication code so that I can switch to another API (i.e. sockets) if I need to.
Lost Logic
webmaster@lostlogic.com
www.lostlogic.com
419 Pages...
*Documentation for C++ *AND* Visual Basic
Containing all enumerations, error codes, and whatever
btw, it takes 536 pages on my computer...
*Documentation for C++ *AND* Visual Basic
Containing all enumerations, error codes, and whatever
btw, it takes 536 pages on my computer...
quote:
1. Winsock - Great if you want the lowest-level of control possible.
Can you build a packet bit-by-bit & put it on the wire with winsock!? (the whole packet)
quote:
- bit64 about DP
It is very easy and intuitive to use...
Um, sorry man, it's way harder to use than the other parts of Dx.
Look at the code it takes to initiate a connection to a known ip, look at the code it takes to render a triangle, look at the WinSocket code it takes to initiate a connection.
DP8 is easier to learn than DP4, but a DP9 or 10 is needed.
I realize that DP is designed for commercial online games that are going to want a lobby & etc... But it should be easier to initiate a connection if the host is pre-determined. This is the 'first-step' when trying to learn a network protocol, and it's almost easier to use a lobby than not to!
Magmai Kai Holmlor
- The disgruntled & disillusioned
Edited by - Magmai Kai Holmlor on March 11, 2001 2:10:02 AM
Hmm, DP8 just requies a few things to connect directly to a host.
(In VB)
ObjDPServerAddress.SetSP DP8SP_TCPIP ''//''Configure Server address for TCP/IP
ObjDPServerAddress.AddComponentLong DPN_KEY_PORT, intServerPort ''Add the serverport to the ServerAddress
ObjDPServerAddress.AddComponentString DPN_KEY_HOSTNAME, strHostName ''Host
Now only add the guid, and you can connect. Dp8 does not require the connection types dialog anymore, and you don''t have to enumerate either.
I like it. if DP8 was designed for lobbies, they would have documented it more. I need them and I just don''t get to understand them... Like running a masterserver in UT/Q3:A and let other ppl connect to it. No documentation about Lobby servers or something. The only negative thing I have so far for DP8.
(In VB)
ObjDPServerAddress.SetSP DP8SP_TCPIP ''//''Configure Server address for TCP/IP
ObjDPServerAddress.AddComponentLong DPN_KEY_PORT, intServerPort ''Add the serverport to the ServerAddress
ObjDPServerAddress.AddComponentString DPN_KEY_HOSTNAME, strHostName ''Host
Now only add the guid, and you can connect. Dp8 does not require the connection types dialog anymore, and you don''t have to enumerate either.
I like it. if DP8 was designed for lobbies, they would have documented it more. I need them and I just don''t get to understand them... Like running a masterserver in UT/Q3:A and let other ppl connect to it. No documentation about Lobby servers or something. The only negative thing I have so far for DP8.
Only!?
should be:
Magmai Kai Holmlor
- The disgruntled & disillusioned
Edited by - Magmai Kai Holmlor on March 11, 2001 10:02:21 PM
HRESULT hr; // Set IP service provider if(FAILED(hr=m_pLocalAddr->SetSP(&CLSID_DP8SP_TCPIP))) return DXTRACE_ERR( _T("SetSP"), hr); // Set IP service provider if(FAILED(hr=m_pHostAddr->SetSP(&CLSID_DP8SP_TCPIP))) return DXTRACE_ERR( _T("SetSP"), hr); char strTemp[256]; strcpy(strTemp, strIPAddress); if(FAILED(hr=m_pHostAddr->AddComponent(DPNA_KEY_HOSTNAME, T2W(strTemp), (strlen(strIPAddress)+1)*sizeof(WCHAR), DPNA_DATATYPE_STRING))) return DXTRACE_ERR( _T("AddComponent"), hr); if(FAILED(hr=m_pHostAddr->AddComponent(DPNA_KEY_PORT, &dwPort, sizeof(dwPort), DPNA_DATATYPE_DWORD))) return DXTRACE_ERR( _T("AddComponent"), hr); if(FAILED(hr=m_pDPClient->Connect(&m_dpnAppDesc, m_pHostAddr, m_pLocalAddr, 0, 0, 0, 0, 0, &m_dpnhConnect, DPNCONNECT_OKTOQUERYFORADDRESSING))) return DXTRACE_ERR( _T("Connect"), hr);
should be:
m_DPClient->ConnectIP(strIPAddress, dwPort);
Magmai Kai Holmlor
- The disgruntled & disillusioned
Edited by - Magmai Kai Holmlor on March 11, 2001 10:02:21 PM
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement