以下程序监听localhost:1234,回显用户的输入
#include <stdio.h>
#include <string.h>
#include <netinet/in.h>
#include <sys/socket.h>
int main()
{
int welcome_fd, sock_fd;
//连接套接字
welcome_fd = socket(AF_INET, SOCK_STREAM, 0);
{
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(1234);
addr.sin_addr.s_addr = INADDR_ANY;
memset(&addr.sin_zero, 0, 8);
//绑定到localhost:1234
bind(welcome_fd, (struct sockaddr *)&addr, sizeof(struct sockaddr));
}
//监听
listen(welcome_fd, 10);
{
struct sockaddr_in addr;
int sin_size = sizeof(struct sockaddr_in);
//产生用户访问所用的socket
sock_fd = accept(welcome_fd, (struct sockaddr *)&addr, &sin_size);
}
//处理网络数据
{
char input[256];
memset(input, 0, sizeof(input));
recv(sock_fd, input, sizeof(input), 0);
send(sock_fd, input, strlen(input), 0);
}
//关闭套接字
close(sock_fd);
close(welcome_fd);
return 0;
}
用命令telnet localhost 1234访问,输入一串字符看结果