SK/processes/sockets/curg.c
Dawid Pietrykowski 305a058d0c Urgent sockets
2023-02-11 14:57:30 +01:00

54 lines
1.2 KiB
C

/*
Klient strumieniowy, internetowy z danymi wysoko priorytetowymi.
*/
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
#include <arpa/inet.h>
typedef struct sockaddr SockAddr;
typedef struct sockaddr_in SockAddr_in;
int main(int argc, char *argv[])
{
int gniazdo;
socklen_t i;
SockAddr_in adres;
if ((gniazdo = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
perror("Blad wywolania funkcji socket.\n");
return -1;
}
struct hostent *Adres;
i = sizeof(SockAddr_in);
adres.sin_family = AF_INET;
adres.sin_port = htons(4040);
// Adres = gethostbyname(argv[1]);
inet_pton(AF_INET, "127.0.0.1", &(adres.sin_addr.s_addr));
// adres.sin_addr.s_addr = *(long *)(Adres->h_addr);
if (connect(gniazdo, (SockAddr *)&adres, i) < 0)
{
perror("Blad funkcji connect.\n");
close(gniazdo);
return -1;
}
double dd = 21.21;
usleep(1);
write(gniazdo, &dd, sizeof(double));
usleep(100);
send(gniazdo, &dd, sizeof(double), MSG_OOB);
close(gniazdo);
return 0;
}