From ce2dc6982101ffb964feb5f29354d2b061c4b2b6 Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 1 Sep 2011 17:26:32 +0200 Subject: we tried some fixes for the messge loss problem, but we failed. Sebastian will look at the code later. server is now a echo server which sends ack for every received message. --- UnixDomainSocketServer/server | Bin 7638 -> 7638 bytes UnixDomainSocketServer/server.c | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'UnixDomainSocketServer') diff --git a/UnixDomainSocketServer/server b/UnixDomainSocketServer/server index b90d066..05ff3ec 100755 Binary files a/UnixDomainSocketServer/server and b/UnixDomainSocketServer/server differ diff --git a/UnixDomainSocketServer/server.c b/UnixDomainSocketServer/server.c index 7746b49..1faf499 100644 --- a/UnixDomainSocketServer/server.c +++ b/UnixDomainSocketServer/server.c @@ -17,7 +17,7 @@ int main(int argc, char *argv[]) { int sockfd, newsockfd; socklen_t clilen; char buffer[1024]; - char ack[4]; + const char ack[4] = "ACK"; struct sockaddr_un serv_addr, cli_addr; int n; @@ -37,7 +37,6 @@ int main(int argc, char *argv[]) { error("ERROR on listen"); } - strcpy(ack,"ACK"); for (;;) { int done; @@ -52,14 +51,15 @@ int main(int argc, char *argv[]) { done = 0; do { - bzero(buffer, 1024); - n = read(newsockfd, buffer, 1023); + bzero(buffer, 2048); + n = read(newsockfd, buffer, 2048); if (n <= 0) { if (n<0) error("ERROR reading from socket"); done = 1; } printf("Here is the message: \"%s\"\n", buffer); if(!done) { + printf("send ACK"); if (send(newsockfd, ack, sizeof(ack), 0) < 0) { error("ERROR on send"); done = 1; -- cgit v1.2.3-55-g7522