PureBasic
;
; ------------------------------------------------------------
;
;   PureBasic - Network (Server) example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

If InitNetwork() = 0
  MessageRequester("Ошибка", "Не удается инициализировать сеть!", 0)
  End
EndIf

Port = 6832
*Buffer = AllocateMemory(1000)

If CreateNetworkServer(0, Port)

  MessageRequester("PureBasic - Server", "Сервер создан (Port "+Str(Port)+").", 0)
  
  Repeat
      
    SEvent = NetworkServerEvent()
  
    If SEvent
    
      ClientID = EventClient()
  
      Select SEvent
      
        Case #PB_NetworkEvent_Connect
          MessageRequester("PureBasic - Server", "Новый клиент подключился !", 0)
  
        Case #PB_NetworkEvent_Data
          MessageRequester("PureBasic - Server", "Клиент "+Str(ClientID)+" отправил пакет!", 0)
          ReceiveNetworkData(ClientID, *Buffer, 1000)
          MessageRequester("инфо", "Строка: "+PeekS(*Buffer, -1, #PB_UTF8), 0)
  
        Case #PB_NetworkEvent_Disconnect
          MessageRequester("PureBasic - Server", "Клиент "+Str(ClientID)+" закрыл соединение...", 0)
          Quit = 1
    
      EndSelect
    EndIf
    
  Until Quit = 1 
  
  MessageRequester("PureBasic - Server", "Нажмите, чтобы выйти из сервера.", 0)
  
  CloseNetworkServer(0)
Else
  MessageRequester("Ошибка", "Не удается создать сервер (порт используется?).", 0)
EndIf

  
End