Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // WinSock_SimpleUDP.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <stdio.h>
- #include <winsock.h>
- #include <string.h>
- #include <conio.h>
- #include <locale.h>
- #pragma comment(lib,"WS2_32.lib")
- int main()
- {
- int liczba = 0;
- char liczbaSlowo[4];
- char odebrane[32] = "Dzialam";
- setlocale(LC_ALL, "Polish");
- WSAData ws;
- if (WSAStartup(MAKEWORD(2, 2), &ws) != 0)
- {
- printf("Blad ladowania biblioteki: %d", WSAGetLastError());
- WSACleanup();
- _getch();
- return 0;
- }
- //////////////////////////////////////////////////////////////
- SOCKET sock;
- if (sock = socket(AF_INET, SOCK_DGRAM, 0) == SOCKET_ERROR)
- {
- printf("Blad ladowania gniazda: %d", WSAGetLastError());
- shutdown(sock, 2);
- closesocket(sock);
- WSACleanup();
- _getch();
- return 0;
- }
- SOCKADDR_IN klient;
- klient.sin_family = AF_INET;
- klient.sin_addr.s_addr = inet_addr("127.0.0.1"); //<- Adres servera
- klient.sin_port = htons(1234); //<- PORT servera
- while (true)
- {
- do {
- printf("Podaj liczbe: ");
- scanf("%d", &liczba);
- } while (liczba > 1400);
- if (liczba < 0)
- {
- shutdown(sock, 2);
- closesocket(sock);
- WSACleanup();
- printf("Koniec działania programu! (Wpisano liczbę ujemną)");
- _getch();
- return 0;
- }
- _itoa(liczba, liczbaSlowo, 10);
- sendto(sock, liczbaSlowo, sizeof(liczbaSlowo), 0, (SOCKADDR*)&klient, sizeof(klient));
- SOCKADDR_IN serwerDanych;
- int rozm = sizeof(serwerDanych);
- recvfrom(sock, odebrane, sizeof(odebrane), 0, (SOCKADDR*)&serwerDanych, &rozm);
- printf("Adres komputera: %s\nNumer portu źródłowego: %d\n[%s]\n\n\n", inet_ntoa(serwerDanych.sin_addr), ntohs(serwerDanych.sin_port), odebrane);
- }
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement