im trying to send the string "hello world"
from one program to the other - via loopback
but the client is printing garbage...
please help!
ps: conio.h and getch() are just to hold the window open in borland compiler
CLIENT
SERVERCode:#include <stdio.h> #include <stdlib.h> #include <string.h> #include<winsock.h> #include<conio.h> #define MAXRCVLEN 500 #define PORTNUM 2343 int main(int argc, char *argv[]) { char buffer[MAXRCVLEN + 1]; /* +1 so we can add null terminator */ int len, mysocket; struct sockaddr_in dest; mysocket = socket(AF_INET, SOCK_STREAM, 0); memset(&dest, 0, sizeof(dest)); /* zero the struct */ dest.sin_family = AF_INET; dest.sin_addr.s_addr = inet_addr("127.0.0.1"); /* set destination IP number */ dest.sin_port = htons(PORTNUM); /* set destination port number */ connect(mysocket, (struct sockaddr *)&dest, sizeof(struct sockaddr)); len = recv(mysocket, buffer, MAXRCVLEN, 0); /* We have to null terminate the received data ourselves */ buffer[len] = '\0'; printf("Received %s (%d bytes).\n", buffer, len); closesocket(mysocket); getch(); return EXIT_SUCCESS; }
Code:#include <stdio.h> #include <stdlib.h> #include <string.h> #include<winsock.h> #define PORTNUM 2343 int main(int argc, char *argv[]) { char msg[15] = "Hello World !\n"; struct sockaddr_in dest; /* socket info about the machine connecting to us */ struct sockaddr_in serv; /* socket info about our server */ int mysocket; /* socket used to listen for incoming connections */ int socksize = sizeof(struct sockaddr_in); memset(&dest, 0, sizeof(dest)); /* zero the struct before filling the fields */ serv.sin_family = AF_INET; /* set the type of connection to TCP/IP */ serv.sin_addr.s_addr = INADDR_ANY; /* set our address to any interface */ serv.sin_port = htons(PORTNUM); /* set the server port number */ mysocket = socket(AF_INET, SOCK_STREAM, 0); /* bind serv information to mysocket */ bind(mysocket, (struct sockaddr *)&serv, sizeof(struct sockaddr)); /* start listening, allowing a queue of up to 1 pending connection */ listen(mysocket, 1); int consocket = accept(mysocket, (struct sockaddr *)&dest, &socksize); while(consocket) { printf("Incoming connection from %s - sending welcome\n", inet_ntoa(dest.sin_addr)); send(consocket, msg, strlen(msg), 0); } closesocket(consocket); closesocket(mysocket); return EXIT_SUCCESS; }



LinkBack URL
About LinkBacks




haha