Nim/tests/manyloc/keineschweine/dependencies/enet/testserver.nim
Adam Strzelecki e80465dacf tests: Trim .nim files trailing whitespace
via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} +
2015-09-04 23:04:32 +02:00

45 lines
924 B
Nim

import enet, strutils
var
address: enet.TAddress
server: PHost
event: TEvent
if enetInit() != 0:
quit "Could not initialize ENet"
address.host = EnetHostAny
address.port = 8024
server = enet.createHost(
addr address, 32, 2, 0, 0)
if server == nil:
quit "Could not create the server!"
while server.hostService(addr event, 2500) >= 0:
case event.kind
of EvtConnect:
echo "New client from $1:$2".format(event.peer.address.host, event.peer.address.port)
var
msg = "hello"
resp = createPacket(cstring(msg), msg.len + 1, FlagReliable)
if event.peer.send(0.cuchar, resp) < 0:
echo "FAILED"
else:
echo "Replied"
of EvtReceive:
echo "Recvd ($1) $2 ".format(
event.packet.dataLength,
event.packet.data)
destroy(event.packet)
of EvtDisconnect:
echo "Disconnected"
event.peer.data = nil
else:
discard
server.destroy()
enetDeinit()