yadyn/client/d/yadynd.d

36 lines
793 B
D
Raw Permalink Normal View History

2008-07-11 21:21:06 +02:00
import std.stdio;
import std.socket;
import std.date;
import std.string;
import std.md5;
2009-09-04 10:58:06 +02:00
int main(char[][] args) {
2011-01-20 15:30:35 +01:00
if (args.length != 4) {
2009-09-04 10:58:06 +02:00
printf("illegal arguments\n");
return 1;
}
2008-07-11 21:21:06 +02:00
2009-09-04 10:58:06 +02:00
char[] DYN_ID = args[1];
char[] SHARED_SECRET = args[2];
2011-01-20 15:30:35 +01:00
char[] SERVER_IP = args[3];
2008-07-11 21:21:06 +02:00
const int SERVER_PORT = 8053;
long time = getUTCtime() / TicksPerSecond;
char[] data = format("%s %s %d", DYN_ID, SHARED_SECRET, time);
ubyte[16] checksum;
sum(checksum, data);
char[] dataToSend = format("%s %d %s", DYN_ID, time, tolower(digestToString(checksum)));
Socket sock = new UdpSocket(AddressFamily.INET);
InternetAddress serverAddress = new InternetAddress(SERVER_IP, SERVER_PORT);
sock.sendTo(dataToSend, serverAddress);
sock.close();
2009-09-04 10:58:06 +02:00
return 0;
2008-07-11 21:21:06 +02:00
}