#4 05.06.06 08:13
Re: [C] TCP socket. Не могу вывести на печать хост и порт...
struct sockaddr_in sa_serv;
struct sockaddr_in sa_cli;
....
/* Prepare TCP socket for receiving connections */
listen_sd = socket (AF_INET, SOCK_STREAM, 0); CHK_ERR(listen_sd, "socket");
memset (&sa_serv, '\0', sizeof(sa_serv));
sa_serv.sin_family = AF_INET;
sa_serv.sin_addr.s_addr = INADDR_ANY;
sa_serv.sin_port = htons (33333); /* Server Port number */
err = bind(listen_sd, (struct sockaddr*) &sa_serv,
sizeof (sa_serv)); CHK_ERR(err, "bind");
/* Receive a TCP connection. */
err = listen (listen_sd, 5); CHK_ERR(err, "listen");
client_len = sizeof(sa_cli);
sd = accept (listen_sd, (struct sockaddr*) &sa_cli, (int *)&client_len);
CHK_ERR(sd, "accept");
closesocket (listen_sd);
printf ("Connection from %s, port %d. To server on %d port\n",
inet_ntoa(sa_cli.sin_addr), htons(sa_cli.sin_port),htons(sa_serv.sin_port));
Исправлено Maver (05.06.06 08:13)
Offline

