Hello everyone.. I'm new in C++ and here is the code for basic client and server.. (I am trying to code a chat program).
Server :
#include "stdafx.h"
#include<winsock.h>
#include<string.h>
#include<stdlib.h>
#include<iostream.h>
#pragma comment(lib, "wsock32.lib")
int main()
{
WSADATA ws;
int nret;
WSAStartup (0x0101,&ws);
SOCKET commsocket;
char sendbuffer[256]=" Recieved! ";
char recvbuffer[256];
SOCKET listeningSocket;
listeningSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(listeningSocket==INVALID_SOCKET)
{
cout<<"Could not creat listening socket";
exit(1);
}
SOCKADDR_IN serverInfo;
serverInfo.sin_family=AF_INET;
serverInfo.sin_addr.s_addr=inet_addr("127.0.0.1");
serverInfo.sin_port=htons(10000);
nret=bind(listeningSocket,(SOCKADDR *)&serverInfo,sizeof(struct sockaddr));
if(nret==SOCKET_ERROR)
{
cout<<"Could not bind listening socket";
exit(1);
}
nret=listen(listeningSocket,10);
if(nret==SOCKET_ERROR)
{
cout<<"Could not listen";
exit(1);
}
commsocket=accept(listeningSocket,NULL,NULL);
if(commsocket==INVALID_SOCKET)
{
cout<<"Could not creat listening socket";
exit(1);
}
while(1)
{
nret=recv (commsocket,recvbuffer,255,0);
recvbuffer[nret]=0;
if (nret==SOCKET_ERROR)
{
cout<<"could not receive message from client";
exit(1);
}
else
{
cout<<recvbuffer;
cout<<("cool");
nret=send (commsocket,sendbuffer,255,0);
if (nret==SOCKET_ERROR)
{
cout<<"could not send message to client";
exit(1);
}
}
}
closesocket (commsocket);
closesocket (listeningSocket);
WSACleanup();
return 0;
}
Client:
#include "stdafx.h"
#include<winsock.h>
#include<string.h>
#include<stdlib.h>
#include<iostream.h>
#pragma comment(lib, "wsock32.lib")
int main()
{
WSADATA ws;
int nret;
WSAStartup (0x0101,&ws);
char sendbuffer[256]="From Client: Hi ....";
char recvbuffer[256];
SOCKET commsocket;
commsocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(commsocket==INVALID_SOCKET)
{
cout<<"Could not creat comm. socket";
exit(1);
}
SOCKADDR_IN serverInfo;
serverInfo.sin_family=AF_INET;
serverInfo.sin_addr.s_addr=inet_addr("127.0.0.1");
serverInfo.sin_port=htons(10000);
nret=connect(commsocket,(LPSOCKADDR)&serverInfo,sizeof(struct sockaddr));
if(nret==SOCKET_ERROR)
{
cout<<"Could not connect to server";
exit(1);
}
nret=send(commsocket,sendbuffer,strlen(sendbuffer),0);
if(nret==SOCKET_ERROR)
{
cout<<"Could not send bytes to server";
exit(1);
}
nret=recv(commsocket,recvbuffer,32,0);
if(nret==SOCKET_ERROR)
{
cout<<"Could not connect to server";
exit(1);
}
else
cout<<recvbuffer;
closesocket (commsocket);
return 0;
}
After successfully execute the server and client, I am unable to display the message from client (sent by client to server) and message from server(sent by server)..!!