From 01982930a4852345c3b54d2c82f5c5ae7a2d970f Mon Sep 17 00:00:00 2001 From: Håkon Nessjøen Date: Sat, 2 Oct 2010 11:19:52 +0200 Subject: Send more than 1 byte at the time if more exists in the buffer --- main.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index a9dd7eb..4c05244 100644 --- a/main.c +++ b/main.c @@ -192,7 +192,7 @@ void handlePacket(unsigned char *data, int data_len) { int main (int argc, char **argv) { int insockfd; int result; - char data[200]; + char data[1500]; struct sockaddr_in si_me; char buff[1500]; int plen = 0; @@ -345,12 +345,14 @@ int main (int argc, char **argv) { handlePacket(buff, result); } if (FD_ISSET(0, &read_fds)) { - unsigned char key = getc(stdin); + unsigned char keydata[100]; + int datalen; + datalen = read(STDIN_FILENO, &keydata, 100); memset(data, 0, sizeof(data)); plen = initPacket(data, MT_PTYPE_DATA, srcmac, dstmac, sessionkey, outcounter); - outcounter ++; - memcpy(data + plen, &key, 1); - result = sendUDP(data, plen + 1); + outcounter += datalen; + memcpy(data + plen, &keydata, datalen); + result = sendUDP(data, plen + datalen); } } else { /* keepalive */ -- cgit v1.2.3