tristanable/example/server/source/app.d

38 lines
768 B
D
Raw Normal View History

2020-06-23 11:11:31 +01:00
import std.stdio;
import std.socket;
2020-06-23 11:46:22 +01:00
import tristanable.encoding : DataMessage;
import bmessage;
import core.thread;
2020-06-23 11:11:31 +01:00
void main()
{
writeln("Edit source/app.d to start your project.");
Socket socket = new Socket(AddressFamily.INET, SocketType.STREAM, ProtocolType.TCP);
socket.bind(parseAddress("127.0.0.1",7777));
socket.listen(1);
2020-06-23 11:46:22 +01:00
Socket conn = socket.accept();
byte[] receivedData;
2020-06-23 11:11:31 +01:00
while(true)
{
2020-06-23 11:46:22 +01:00
receiveMessage(conn, receivedData);
DataMessage message = DataMessage.decode(receivedData);
writeln("Tag: ", message.tag);
writeln("Data: ", message.data);
DataMessage d = new DataMessage(70, [2]);
sendMessage(conn, d.encode());
2020-06-23 11:46:22 +01:00
d = new DataMessage(69, [1]);
Thread.sleep(dur!("seconds")(5));
2020-06-23 11:46:22 +01:00
sendMessage(conn, d.encode());
2020-06-23 11:11:31 +01:00
}
2020-06-23 11:46:22 +01:00
2020-06-23 11:11:31 +01:00
}