Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
174
Добавлен:
01.04.2014
Размер:
1.67 Кб
Скачать
// подключение необходимых библиотек
#include <stdio.h>
#include <string.h>
#include <winsock2.h>
#include <windows.h>
#include <iostream.h>

int main(void) 
{
	//переменные для получения и отправки данных сокету
	char buf[100], b[100];
	
	//переменная для определения максимально доступной версии WinSock
	WORD wVersionRequested;
	
	// структура для хранения данных номера версии и др.
	WSADATA wsaData;
	
	int err;
	wVersionRequested = MAKEWORD(2,2);
	err = WSAStartup(wVersionRequested, &wsaData);
	
	//проверка инициализации WinSock API
	if(err != 0){return 0; }
	
	// создание сокета
	SOCKET s;
	s = socket(AF_INET,SOCK_DGRAM,0);
	
	//структура адреса
	sockaddr_in add;
	
	//стандартное значение
	add.sin_family = AF_INET;
	
	//порт ассоциированый с сокетом
	add.sin_port = htons(1024);
	
	//явное указание IP-адреса 
	add.sin_addr.s_addr = inet_addr("127.0.0.1");
	
	//размер объекта структуры add 
	int t;
	t = sizeof(add);
	
	// ввод числа
	cout<<"Enter the number of five counts"<<endl;
	
	int chislo;
	cin>>chislo;
	
	// проверка разрядности
	if ((chislo/100000==0)&&(chislo/10000!=0))
	{
		//преобразование в строку
		_itoa(chislo, buf, 10);
		
		//отправка данных сокету
		sendto(s, buf, lstrlen(buf), 0, (struct sockaddr*) &add, t);
		
		//принятие данных
		int rv = recvfrom(s, b, lstrlen(b), 0, (struct sockaddr*) &add, &t);
		b[rv] = '\0';
		
		//вывод модифицированного числа
		cout<<b<<endl;
		
	}
	else
	{
		cout<<"Error data"<<endl;
	}
	
	//закрытие сокета
	closesocket(s);
	
	//завершение работы с библиотекой
	WSACleanup();
	
	//завершение работы программы
	return 0;
}
Соседние файлы в папке UPDclient
  • #
    01.04.20141.67 Кб174client.cpp
  • #
    01.04.20144.36 Кб171UPDclient.dsp
  • #
    01.04.2014543 б171UPDclient.dsw
  • #
    01.04.201441.98 Кб170UPDclient.ncb
  • #
    01.04.201448.64 Кб170UPDclient.opt
  • #
    01.04.20141.32 Кб170UPDclient.plg