用C语言写一个socket服务端
时间: 2023-12-25 08:45:42 浏览: 39
好的,为您提供C语言写一个socket服务端的代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <string.h>
#include <unistd.h>
int main(int argc, char** argv){
int fd = socket(AF_INET, SOCK_STREAM, 0);
if (fd < 0) {
perror("socket failed");
exit(EXIT_FAILURE);
}
struct sockaddr_in address;
memset(&address, 0, sizeof(address));
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(8080);
if (bind(fd, (struct sockaddr*)&address, sizeof(address)) < 0) {
perror("bind failed");
exit(EXIT_FAILURE);
}
if (listen(fd, 10) < 0) {
perror("listen failed");
exit(EXIT_FAILURE);
}
int cfd = accept(fd, NULL, NULL);
if (cfd < 0) {
perror("accept failed");
exit(EXIT_FAILURE);
}
char buffer[1024];
memset(buffer, 0, sizeof(buffer));
int valread = read(cfd, buffer, 1024);
printf("%s\n", buffer);
char* message = "Hello from server!";
send(cfd, message, strlen(message), 0);
printf("Message sent\n");
close(cfd);
close(fd);
return 0;
}
```
这是一个最基本的socket服务端代码,可以监听本地的8080端口,接受来自客户端的连接,并向客户端发送一条消息。
如果您有其他问题,可以随时向我提问。