Re: [uralt Bug?]ReceiveNetworkData-Aufruf ohne anliegende Da
Verfasst: 27.05.2012 17:07
				
				Hier mal was zum hängen des Programms, bei ReceiveNetworkData:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
When a socket is created, it operates in blocking mode by default.
			http://msdn.microsoft.com/en-us/library ... 85%29.aspx
When a socket is created, it operates in blocking mode by default.
Code: Alles auswählen
; server
If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf
Port = 6832
If CreateNetworkServer(0, Port)
 
  Repeat
   
    SEvent = NetworkServerEvent()
   
    If SEvent
     
      ClientID = EventClient()
     
      Select SEvent
         
        Case #PB_NetworkEvent_Connect
         
          MessageRequester("PureBasic - Server", "A new client has connected !", 0)
         
         
      EndSelect
    EndIf
    
    Delay(1)
   
  Until Quit = 1
 
  CloseNetworkServer(0)
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf
End   
Code: Alles auswählen
; client
If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf
Port = 6832
Repeat
  ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
  Delay(1000)
Until ConnectionID > 0
If ConnectionID  
  s = ConnectionID(ConnectionID)
  arg = 1
  ioctlsocket_(s, #FIONBIO, @arg)
  *DatenPuffer = AllocateMemory(100)
  Ergebnis = ReceiveNetworkData(ConnectionID, *DatenPuffer, 10) ; without received data programm wait forever
  MessageRequester("PureBasic - Client", "Ergebnis: " + Str(Ergebnis), 0)
  CloseNetworkConnection(ConnectionID)
Else
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
End