CSocketAddress address("127.0.0.1", 10010)
UdpSocket socket = [NetworkComm.]UdpCast(address)
if (socket.Available) {
socket.setReceivedCallback(CSocketReceivedCallback)
CSocketDataArgs args()
args.Add(CInteger(-256))
args.Add(CBoolean(true))
args.Add(CString("Hello"))
args.Add(CFloat(-1.1))
args.Add(CByteArray([0x41, 0x42, 0x43]))
CSocketSendData data(0x88, args)
if (data.BuildResult == CSocketSendDataBuildResult.Successful) {
socket.Send(data, address)
}
}
CSocketAddress address("127.0.0.1", 10010)
TcpServer server = [NetworkComm.]TcpListen(address)
if (server.Running) {
server.setAcceptCallback(TcpServerAcceptCallback)
}
CSocketAddress address("127.0.0.1", 10010)
TcpSocket socket = [NetworkComm.]TcpConnect(address)
if (socket.Available) {
socket.setReceivedCallback(CSocketReceivedCallback)
CSocketDataArgs args()
args.Add(CInteger(-256))
args.Add(CBoolean(true))
args.Add(CString("Hello"))
args.Add(CFloat(-1.1))
args.Add(CByteArray([0x41, 0x42, 0x43]))
CSocketSendData data(0x88, args)
if (data.BuildResult == CSocketSendDataBuildResult.Successful) {
if (socket.Connected) {
socket.Send(data)
}
}
}
TcpServerAcceptCallback(TcpSocket socket) {
if (socket.Available) {
socket.setReceivedCallback(CSocketReceivedCallback)
}
}
CSocketReceivedCallback(CSocket socket, CSocketReceivedData data) {
if (data.Result == CSocketReceivedDataResult.Completed) {
if (data.Command == 0x88) {
CInteger arg1 = data.Args[0]
CBoolean arg2 = data.Args[1]
CString arg3 = data.Args[2]
CFloat arg4 = data.Args[3]
CByteArray arg5 = data.Args.At(4)
}
} else if (data.Result == CSocketReceivedDataResult.Interrupted) {
} else if (data.Result == CSocketReceivedDataResult.ParsingError) {
} else if (data.Result == CSocketReceivedDataResult.Closed) {
}
}