Показать сообщение отдельно
Старый 06.12.2010, 18:54   #7
Diffuse13
Нуждающийся
 
Аватар для Diffuse13
 
Регистрация: 12.11.2010
Адрес: Нашли чо спросить
Сообщений: 51
Написано 3 полезных сообщений
(для 4 пользователей)
Ответ: Помогите найти ошипко

Есть продвижения! Я создал отладочные записи!
И вот в клиенте-
Function Join(ipadress$)
DebugLog "Поиск"
main_order#=0
order$="join..."
WriteLine stream,order$
WriteLine stream,my_ip
ip=Int_IP(ipadress$)
SendUDPMsg stream,ip,53424
If RecvUDPMsg(stream2) Then
 map$=ReadLine$(stream2)
 country$=ReadLine$(stream2)
 If map$=True And country$=True Then Connect()
EndIf
End Function
Дальше поиска не уходит!
Значит:
If RecvUDPMsg(stream2) Then
 map$=ReadLine$(stream2)
 country$=ReadLine$(stream2)
 If map$=True And country$=True Then Connect()
Не пашет. А это значит что не выполняется в сервере:
  If RecvUDPMsg(stream2) Then
   order$=ReadLine$(stream2)
 
    If order$="join..." Then
DebugLog "Поиск"
     p.Player=New Player
      p\ip=Int_IP(ReadLine$(stream2))
     WriteLine stream,map$
     WriteLine stream,country$
     SendUDPMsg stream,p\ip,49170

Ну так вот, дальше разобрался:
Влиент:
Function Join(ipadress$)
DebugLog "Поиск"
main_order#=0
order$="join..."
ip=Int_IP(ipadress$)
my_ip#=GetMyIP()
WriteLine stream,order$
WriteLine stream,my_ip#
SendUDPMsg stream,ip,58001
If RecvUDPMsg(stream2) Then
 map$=ReadLine$(stream2)
 country$=ReadLine$(stream2)
 If map$=True And country$=True Then Connect()
EndIf
End Function
Сервер:
  If RecvUDPMsg(stream2) Then
   order$=ReadLine$(stream2)
 
    If order$="join..." Then
DebugLog "Поиск"
     p.Player=New Player
      p\ip=Int_IP(ReadLine$(stream2))
     WriteLine stream,map$
     WriteLine stream,country$
     SendUDPMsg stream,p\ip,59265
Выделенная строчка-не может расшивровать мой IP
Функция расшифровки:
Function Int_IP(IP$)
d1%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d2%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,".")) ;(ошипка!!!)
d3%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d4%=IP$
Return (d1 Shl 24) + (d2 Shl 16) + (d3 Shl 8 ) +d4
End Function
(Offline)
 
Ответить с цитированием