/* @(#)tcpd.c 1.1 88/10/12 NFS Rev 2 Testsuite */
* server for simple tcp ping program.
* listens on socket for connection request, then echos back
struct sockaddr_in addr
; /* socket address */
int addrlen
= sizeof(struct sockaddr_in
);
if ((s
= socket(AF_INET
, SOCK_STREAM
, IPPROTO_TCP
)) < 0)
addr
.sin_family
= AF_INET
;
addr
.sin_port
= htons(TCP_PORT
);
addr
.sin_addr
.s_addr
= INADDR_ANY
;
if (bind(s
, &addr
, addrlen
) < 0)
fprintf(stderr
, "%s awaiting accept\n", argv
[0]);
addrlen
= sizeof(struct sockaddr_in
);
if ((ns
= accept(s
, &addr
, &addrlen
)) < 0)
if (hp
= gethostbyaddr(&addr
.sin_addr
, sizeof(addr
.sin_addr
),
%s: accepted connection from host %s\n", argv
[0], hp
->h_name
);
%s: accepted connection from host %x\n", argv
[0], addr
.sin_addr
.s_addr
);
ret
= read(ns
, buf
, BUFSIZ
);
fprintf(stderr
, " read ret %d\n", ret
);
ret
= write(ns
, buf
, ret
);
fprintf(stderr
, " write ret %d\n", ret
);