Popieram kolegę "⌂⌂⌂", po prostu jesteś zbyt leniwy by użyć google i/lub przeszukać forum.
Kod:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(void)
{
int my_sock, his_sock, size;
int rozm;
ssize_t a;
struct sockaddr_in my_struct;
struct sockaddr_in his_struct;
char buf[1000];
if ((my_sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
printf("błąd gniazda\n");
exit(1);
}
my_struct.sin_family = AF_INET;
my_struct.sin_port = htons(4000);
my_struct.sin_addr.s_addr = INADDR_ANY;
if (bind( my_sock, (struct sockaddr *)&my_struct, sizeof(struct sockaddr_in)) == -1) {
printf("błąd bind\n");
exit(1);
}
if (listen(my_sock, 5) == -1) {
printf("błąd listena\n");
exit(1);
}
size = sizeof(struct sockaddr);
if ((his_sock = accept( my_sock, (struct sockaddr *)&his_struct, ( socklen_t * ) &size))==-1) {
printf("błąd accept\n");
exit(1);
}
rozm = sizeof ( buf );
a = recv( my_sock, buf, rozm, 0 );
while (a <= 0 ) {
printf("jest źle\n");
}
printf(buf);
close(my_sock);
return 0;
}
Kod:
r@r~> cc dupa8.c -o dupa8
r@r~> ./dupa8 &
[1] 3649
r@r~> netstat -l|grep 4000
tcp 0 0 *:4000 *:* LISTEN