以下是一个简单的C语言服务器端程序示例,使用了TCP套接字编程。这个程序会监听8080端口上的连接请求,并接受客户端发送的数据。
```c
#include
#include
#include
#include
#include
#include
int main() {
int server_fd, new_socket;
struct sockaddr_in address;
int addrlen = sizeof(address);
char buffer[1024] = {0};
int n;
// 创建套接字
if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) {
perror("socket failed");
exit(EXIT_FAILURE);
}
// 设置服务器地址和端口
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(8080);
// 绑定套接字到地址
if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) {
perror("bind failed");
exit(EXIT_FAILURE);
}
// 监听连接
if (listen(server_fd, 3) < 0) {
perror("listen failed");
exit(EXIT_FAILURE);
}
printf("Server is listening on port %dn", 8080);
// 接受客户端连接
while (true) {
new_socket = accept(server_fd, (struct sockaddr *)&address, &addrlen);
if (new_socket < 0) {
perror("accept failed");
continue;
}
// 读取客户端发送的数据
read(new_socket, buffer, 1024);
printf("Received: %sn", buffer);
// 关闭连接
close(new_socket);
}
return 0;
}
```
这个程序首先创建一个套接字,然后绑定到本地主机的8080端口。接着,它开始监听连接请求。当接收到客户端连接时,程序读取客户端发送的数据,并将其打印出来。最后,程序关闭与客户端的连接。