DirectPlay
5 отговора
183 прегледа
DirectPlay
Въпроса ми е в посока на Lobbyable Application.В 7-мо упражнение се навърта(забърква) и Lobbyable Application.Работата е там , че немога да схвана с какво 7-мо упражнение би се различавало от 7-мо упражнение без интерфейса IDirectPlay8LobbiedApplication?От ясно по-ясно е , че ще да дава накаква полза , но каква е тя?!
Re: DirectPlay
Знаеш ли, има една книга "Advanced game programming with DirectX 8". В нея има една глава "Networking". В нея пък, една от точките е озаглавена:
UDP protocol (aka. "DirectPlay and why I am not using it")
Отначало не схванах, понеже работя предимно на единствено PC. На скоро обаче, разбрах смисъла на заглавието....
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
UDP protocol (aka. "DirectPlay and why I am not using it")
Отначало не схванах, понеже работя предимно на единствено PC. На скоро обаче, разбрах смисъла на заглавието....
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Re: Хората...
Незнам , че има една книга "Advanced game programming with DirectX 8" нито дори какви глави има в нея.Но съвсем веднага разбрах , и заглавието и уклона на мисълта ти.Дай да не ползваме DirectPlay щото в една кника с едно име пише еди-какво си!?(в шахматната нотация така се отбелязва много съмнителен ход)Със сигурност има поне две книги със сходни глави и препоръчващи DirectPlay на место сокети.Така , че това с книгите няма доказателствена сила.За OpenGL има доста книги с хвалби , но каква е истината , СТРАШНА.Това дето го пиша и съм го писал на DirectX 8.1 с OpenGl 1.1 ще го напиша с помоща на много системно зависим код.Тук ще вметна , че системната независимост не е панацея , а съсгласие да се ползва най-голямото общо кратно.
Не се връзвайте за думите ми.Очаквам само отговори по ТЕМАТА и никакви други.
Не се връзвайте за думите ми.Очаквам само отговори по ТЕМАТА и никакви други.
Re: Хората...
Виж, не се пали чак толкова. Не съм искал да те засегна по някакъв начин, а ти не си ме разбрал правилно. Изобщо не искам да кажа, че като пише нещо в някаква книга, то е the Holy Truth. Тъкмо обратно, много често проблемите разглеждани в някаква книга, обикновено не работят така както се очаква от тях. А най-проблемно е, когато въпросната книга е електронна, и е част от някакво SDK. (Уверението ми в правотата на посоченото заглавие, дойде по-късно, от личен опит).
Ако в постинга ми има някакво заяждане, то е насочено към DirectPlay. Няма да изреждам проблемите с които съм се сблъсквал, за да не се отклонявам от темата, но просто си имай едно на ум, че Play е най-изяждащата време част от Х.
Със здраве.
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Ако в постинга ми има някакво заяждане, то е насочено към DirectPlay. Няма да изреждам проблемите с които съм се сблъсквал, за да не се отклонявам от темата, но просто си имай едно на ум, че Play е най-изяждащата време част от Х.
Със здраве.
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Re: ...
Какви точно проблеми си имал , много те моля да кажеш , тъй като така по-лесно ще ги избегна.Много те моля също да погледнеш темата за Paltalk за да водим разговор в реално време.Имам сериозно основание да считам , че ще си бъдем полезни.
Re: ...
Това за Paltalk е хубаво, ама аз съм на dial-up, така че се съмнявам за реалното време. А и нямам микрофон.
Имах три проблема, за които не намерих решение. Понеже съм в сесия всъщност нямах много време за проучване, но тръпки ме побиват само като си представя на какво ниво може да са бъкийките (третата):
1. IDirectPlay8Server::CancelAsyncOperation оставя operation leak понякога. Мисля, че е когато пращаш голям буфер и TCP/IP е пратил вече един пакет, обаче не съм сигурен. Ако се вдигне флаг DPNCANCEL_ALL_OPERATIONS май се оправя, ама на мен това не ми вършеше работа. Е, като разкараш трийда също се оправя, щото е в същия хийп.
2. IDirectPlay8Peer::Connect два пъти ми върна HRESULT който не е даден в SDK. Трябваше да се ровя по хедърите, а хич не ми се занимаваше. Поздравявам обаче гения на M$, който си измива ръцете с фразата:
"Returns S_OK if this method is processed synchronously and is successful. By default, this method runs asynchronously and normally returns DPNSUCCESS_PENDING. It might also return one of the following error values...." <следва списък с възможните грешки>
3. Modem connection peer2peer не работи.
Очевидно използва собствен драйвер (както и се очаква, все пак е Direct), който обаче кара модемите да се карат за протокола, а не да се разберат за него. Човек може да чуе как съобщенията започват да текат като нормален connection, и някъде на четвъртата секунда излизат от синхрон. Става дума за еднакви модеми (Acorp 56 ext) на еднакви платформи (98se) с еднаква конфигурация. Единственото което не се сетих тогава да пробвам, беше да закова скоростите та най-ниска честота.
Това ми бяха проблемите, въпреки че вероятно поне за един от тях грешката може да е била моя. Факт е обаче, че не е толкова изпипано АПИ колкото се опитват да го изкарат. Предпочитам да напиша собствени класове за мрежа, за да мога да използвам пълните предимства на TCP/IP, отколкото да пестя време с готови неща, които да се окаже в последния момент, че не ти вършат работа...
За протокола: Въпросните проблеми се появяват на win98se, 128RAM, вкл. след рестарт. (Не съм сигурен дали DX8.1 не беше designed for XP.)
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Имах три проблема, за които не намерих решение. Понеже съм в сесия всъщност нямах много време за проучване, но тръпки ме побиват само като си представя на какво ниво може да са бъкийките (третата):
1. IDirectPlay8Server::CancelAsyncOperation оставя operation leak понякога. Мисля, че е когато пращаш голям буфер и TCP/IP е пратил вече един пакет, обаче не съм сигурен. Ако се вдигне флаг DPNCANCEL_ALL_OPERATIONS май се оправя, ама на мен това не ми вършеше работа. Е, като разкараш трийда също се оправя, щото е в същия хийп.
2. IDirectPlay8Peer::Connect два пъти ми върна HRESULT който не е даден в SDK. Трябваше да се ровя по хедърите, а хич не ми се занимаваше. Поздравявам обаче гения на M$, който си измива ръцете с фразата:
"Returns S_OK if this method is processed synchronously and is successful. By default, this method runs asynchronously and normally returns DPNSUCCESS_PENDING. It might also return one of the following error values...." <следва списък с възможните грешки>
3. Modem connection peer2peer не работи.
Това ми бяха проблемите, въпреки че вероятно поне за един от тях грешката може да е била моя. Факт е обаче, че не е толкова изпипано АПИ колкото се опитват да го изкарат. Предпочитам да напиша собствени класове за мрежа, за да мога да използвам пълните предимства на TCP/IP, отколкото да пестя време с готови неща, които да се окаже в последния момент, че не ти вършат работа...
За протокола: Въпросните проблеми се появяват на win98se, 128RAM, вкл. след рестарт. (Не съм сигурен дали DX8.1 не беше designed for XP.)
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.