这个代码很简单,用途有两个:
1,刚入门的新同学可以参考。
2,想随手写个测试程序的同学可以拷贝。
server:
int port = atoi(argv[1]);
int sock = socket(AF_INET, SOCK_STREAM, 0);
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = 0;
int on = 1;
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0)
{
perror("bind");
return 0;
}
if (listen(sock, 50) < 0)
{
perror("listen");
return 0;
}
printf("start listening .../nPress Ctrl+C to quit/n/n");
int count = 0;
while (1)
{
accept(sock, 0, 0);
count++;
if (count%100 == 0)
{
printf("accepted: %d/n", count);
}
}
return 0;
}
client:
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = inet_addr(ip);
printf("client running .../nPress Ctrl+C to quit/n/n");
int count = 0;
while (1)
{
int sock = socket(AF_INET, SOCK_STREAM, 0);
if (connect(sock, (sockaddr*)&addr, sizeof(addr)) < 0)
{
perror("connect");
return 0;
}
close(sock);
//usleep(10*1000);
count++;
if (count%100 == 0)
{
printf("connected: %d/n", count);
}
}
return 0;
}