Skip to content

Instantly share code, notes, and snippets.

@xnimorz
Created February 24, 2014 20:03
Show Gist options
  • Save xnimorz/9195886 to your computer and use it in GitHub Desktop.
Save xnimorz/9195886 to your computer and use it in GitHub Desktop.
#include "stdafx.h"
#include <WinSock2.h>
#include <iostream>
#include <conio.h>
#define BUFSIZE 1024
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
WORD wVersion = MAKEWORD(1, 1);
WSAData wsaData;
WSAStartup(wVersion, &wsaData);
SOCKET s;
s = socket(AF_INET, SOCK_DGRAM, 0);
char buf[BUFSIZE];
cout << "Input ip-address:" << endl;
cin >> buf;
sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = inet_addr(buf);
sin.sin_port = htons(3245);
int sin_len = sizeof(sin);
cout << "Client started" << endl;
int i = 0, rcv_len, snd_len;
while (i++ < 3)
{
cout << "Input word:" << endl;
cin >> buf;
snd_len = sendto(s, buf, strlen(buf) + 1, 0, (SOCKADDR*)&sin, sin_len);
if (snd_len > 0)
{
cout << "Sended message: " << buf << endl;
rcv_len = recvfrom(s, buf, BUFSIZE - 1, 0, (SOCKADDR*)&sin, &sin_len);
if (rcv_len > 0)
{
buf[rcv_len] = 0;
cout << "Recieved messsage: " << buf << endl;
}
else
{
cout << "Recieving. Error code: " << WSAGetLastError() << endl;
break;
}
}
else
{
cout << "Sending. Error code: " << WSAGetLastError() << endl;
break;
}
}
closesocket(s);
WSACleanup();
_getch();
return 0;
}
#include "stdafx.h"
#include <WinSock2.h>
#include <iostream>
#include <conio.h>
#define BUFSIZE 1024
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
WORD wVersion = MAKEWORD(1, 1);
WSAData wsaData;
WSAStartup(wVersion, &wsaData);
SOCKET s;
s = socket(AF_INET, SOCK_DGRAM, 0);
sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = htonl(INADDR_ANY);
sin.sin_port = htons(3245);
if (bind(s, (SOCKADDR*)&sin, sizeof(sin)) != 0)
{
cout << "Binding. Error code: " << WSAGetLastError() << endl;
_getch();
return -1;
}
cout << "Server started" << endl;
char buf[BUFSIZE];
sockaddr_in sin_clt;
int len_clt = sizeof(sockaddr);
int i = 0, rcv_len, snd_len;
while (i++ < 3)
{
int rcv_len = recvfrom(s, buf, BUFSIZE - 1, 0, (SOCKADDR*)&sin_clt, &len_clt);
if (rcv_len > 0)
{
buf[rcv_len] = 0;
cout << "Recieved message: " << buf << endl;
_strupr_s(buf, strlen(buf) + 1);
snd_len = sendto(s, buf, strlen(buf) + 1, 0, (SOCKADDR*)&sin_clt, len_clt);
if (snd_len > 0)
cout << "Sended message: " << buf << endl;
else
{
cout << "Sending. Error code: " << WSAGetLastError() << endl;
break;
}
}
else
{
cout << "Recieving. Error code: " << WSAGetLastError() << endl;
break;
}
}
closesocket(s);
WSACleanup();
_getch();
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment