Unix下服务器的编写问题
int s;
s = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in si;
si.sin_family = AF_INET;
si.sin_addr.s_addr = INADDR_ANY;
si.sin_port = htons(PORT);
if(bind(s, A(si), sizeof(si)) <0){
printf("%s\n", strerror(errno));
exit(1);
}
listen(s, 1);
for(;;){
socklen_t len = sizeof(si);
int c = accept(s, A(si), &len);
if(c<0) continue;
//向客户端发送信息: welcome friend from <ip, port>
char buf[100], ip[100];
inet_ntop(si.sin_family, &si.sin_addr.s_addr, ip, sizeof(ip));
printf("%s到此一游\n", ip);
sprintf(buf, "welcome friend from <%s, %d>\n",ip, ntohs(si.sin_port));
write(c, buf, strlen(buf));
}