Подробно про существование сообщений (DirectPlay)
В Блитце DirectPlay очень легко освоить, он удобен и прост. Но мне всё таки остались непонятны некоторые моменты.
При пересылке все сообщения собераются пока их не примет клиент (тот кому было послано).
И у меня сложился вопрос - когда конкретно сообщения перестают существовать? После какой функции?? Я думаю после NetMsgData$(), я прав?
Вот простой пример:
Например игроку было послано подряд (очень быстро) 2 сообщения от 2х разных игроков 2х разных типов (не больше и не меньше 2х!), сначало ему послал 1й(id=24004) игрок сообщение "A01" (1го типа), а потом послал 2й игрок(id=24054) сообщение "B20" (2го типа).
Вот часть кода клиентской программы:
i=32Dim msgType(i):Dim msgFrom(i):Dim msgData$(i)
i=0
While RecvNetMsg()
i=i+1
msgType(i)=NetMsgType()
msgFrom(i)=NetMsgFrom()
msgData$(i)=NetMsgData$()
wend
Результат будет какой?
Я думаю такой:
msgType(1)=1
msgFrom(1)=24004
msgData$(1)="A01"
msgType(2)=2
msgFrom(2)=24054
msgData$(2)="B20"
Я прав?
А теперь такой код (при тех же условиях) :
i=32Dim msgType(i):Dim msgFrom(i):Dim msgData$(i)
i=0
While RecvNetMsg()
i=i+1
msgData$(i)=NetMsgData$()
msgFrom(i)=NetMsgFrom()
msgType(i)=NetMsgType()
wend
И что вы думаете, какое будет результат?
Я думаю такой:
msgType(1)=2
msgFrom(1)=24054
msgData$(1)="A01"
msgType(2)=0
msgFrom(2)=0
msgData$(2)="B20"
Я прав?
|