Beispiel
Server.pb
Code: Alles auswählen
Enumeration
#ChatServer
EndEnumeration
InitNetwork()
CreateNetworkServer(#ChatServer, 5001)
Procedure NetworkCleanup()
CloseNetworkServer(#ChatServer)
EndProcedure
Procedure T1(DummyParam.l) ;#ChatServer
;Protected *Buffer
*Buffer = AllocateMemory(1024)
Repeat
NEvent = NetworkServerEvent()
If NEvent
If EventServer() = #ChatServer
Debug "ChatServer: Event occurred"
;ReceiveNetworkData()
Select NEvent
Case #PB_NetworkEvent_Connect
Debug "ChatServer: Client connected"
Case #PB_NetworkEvent_Data
Debug "ChatServer: Client send Data"
Test = ReceiveNetworkData(ConnectionID(#ChatServer), *Buffer, 1000)
Case #PB_NetworkEvent_File
ReceiveNetworkFile(ConnectionID(#ChatServer),"temp.tmp")
DeleteFile("temp.tmp")
Case #PB_NetworkEvent_Disconnect
Debug "ChatServer: Client disconnected"
EndSelect
EndIf
EndIf
Delay(1)
ForEver
EndProcedure
NoServerWindow = 0
If OpenWindow(0,0,0,500,500,"Server Monitor")
If CreateGadgetList(WindowID(0))
TextGadget(11,100,5,250,30, "Chat Server")
ListViewGadget(1,0,45,500,455)
Else
NoServerWindow = 1
EndIf
Else
NoServerWindow = 1
EndIf
If NoServerWindow
MessageRequester("Error", "Server Monitor window could not be created (It is not necessary, server WILL run)")
EndIf
ChatServerThread = CreateThread(@T1(),0)
Repeat
If NoServerWindow <> 1
WEvent = WindowEvent()
Select WEvent
Case #PB_Event_CloseWindow
If ChatServerThread
KillThread(ChatServerThread)
EndIf
NetworkCleanup()
End
EndSelect
EndIf
Delay(1)
ForEver
Client.pb
Code: Alles auswählen
InitNetwork()
ChatServer = OpenNetworkConnection("127.0.0.1",5001)
SendNetworkString(ChatServer, "Hallo ChatServer")
If ChatServer
CloseNetworkConnection(ChatServer)
EndIf
Settings:
; IDE Options = PureBasic 4.10 (Linux - x86)
; CursorPosition = 226
; FirstLine = 84
; Folding = 5-
; EnableThread
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte:
YAED - Yet another Event Dispatcher