51 lines
1.1 KiB
C
51 lines
1.1 KiB
C
|
|
||
|
#include <sys/select.h>
|
||
|
#include <sys/socket.h>
|
||
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <unistd.h>
|
||
|
#include <signal.h>
|
||
|
#include <errno.h>
|
||
|
#include <string.h>
|
||
|
#include <sys/uio.h>
|
||
|
#include <fcntl.h>
|
||
|
#include <netinet/in.h>
|
||
|
#include <arpa/inet.h>
|
||
|
|
||
|
typedef struct sockaddr SockAddr;
|
||
|
typedef struct sockaddr_in SockAddr_in;
|
||
|
|
||
|
void handle_error(char *txt)
|
||
|
{
|
||
|
perror(txt);
|
||
|
exit(-1);
|
||
|
}
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
SockAddr_in adres;
|
||
|
int gniazdo2;
|
||
|
socklen_t rozmiar = sizeof(SockAddr_in);
|
||
|
|
||
|
int sock;
|
||
|
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1)
|
||
|
handle_error("socket");
|
||
|
|
||
|
memset(&adres, 0, sizeof(SockAddr_in));
|
||
|
|
||
|
adres.sin_family = AF_INET;
|
||
|
|
||
|
adres.sin_port = htons(4040);
|
||
|
|
||
|
inet_pton(AF_INET, "127.0.0.1", &adres.sin_addr.s_addr);
|
||
|
|
||
|
if ((gniazdo2 = connect(sock, (SockAddr *)&adres, rozmiar)) == -1)
|
||
|
handle_error("connect");
|
||
|
|
||
|
ssize_t liczbaBajtow;
|
||
|
pid_t pid = getpid();
|
||
|
if ((liczbaBajtow = write(sock, &pid, sizeof(pid_t))) == -1)
|
||
|
handle_error("write");
|
||
|
printf("Wysłałem wiadomość: %d\n", pid);
|
||
|
return 0;
|
||
|
}
|