1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
int main(void)
{
int Sock_srv, Sock_clt;
int length, i;
struct sockaddr_in Addr_srv;
struct sockaddr Addr_clt;
if((Sock_srv = socket(AF_INET, SOCK_STREAM, 0)) < 0)
return(-1);
bzero(&Addr_srv, sizeof(Addr_srv));
Addr_srv.sin_family = AF_INET;
Addr_srv.sin_addr.s_addr = INADDR_ANY;
Addr_srv.sin_port = htons(6666);
length = sizeof(Addr_srv);
if (bind(Sock_srv,(struct sockaddr*)&Addr_srv, length) != 0)
{
close(Sock_srv);
return(-1);
}
listen(Sock_srv, 1);
bzero (&Addr_clt, sizeof(Addr_clt));
length = sizeof(Addr_clt);
Sock_clt = accept(Sock_srv, &Addr_clt, (socklen_t*) &length);
for(i=0; i < 20; i++)
{
if(write(Sock_clt, "123456789\r\n", strlen("123456789\r\n")) < 0)
break;
sleep(1);
}
close(Sock_clt);
close(Sock_srv);
return (0);
} |
Partager