c 网络聊天室源代码
“c,#include,#include,#include,#include,#include,#include#define PORT 8080,#define BUFFER_SIZE 1024void *clientHandler(void *socket);int main() {, int serverSocket, clientSocket;, struct sockaddr_in serverAddr, clientAddr;, socklen_t addr_size;, pthread_t threadId; serverSocket = socket(PF_INET, SOCK_STREAM, 0);, if (serverSocket == -1) {, perror(“Socket creation failed”);, exit(EXIT_FAILURE);, } memset(&serverAddr, 0, sizeof(serverAddr));, serverAddr.sin_family = AF_INET;, serverAddr.sin_port = htons(PORT);, serverAddr.sin_addr.s_addr = htonl(INADDR_ANY); if (bind(serverSocket, (struct sockaddr *)&serverAddr, sizeof(serverAddr))˂ 0) {, perror(“Bind failed”);, close(serverSocket);, exit(EXIT_FAILURE);, } if (listen(serverSocket, 5)˂ 0) {, perror(“Listen failed”);, close(serverSocket);, exit(EXIT_FAILURE);, } printf(“Server is listening on port %d…,”, PORT); while (1) {, addr_size = sizeof(clientAddr);, clientSocket = accept(serverSocket, (struct sockaddr *)&clientAddr, &addr_size);, if (clientSocket 0) {, buffer[readSize] = ‘\0’;, printf(“Received: %s,”, buffer);, send(clientSocket, buffer, strlen(buffer), 0);, } if (readSize == 0) {, puts(“Client disconnected”);, } else if (readSize == -1) {, perror(“Recv failed”);, } close(clientSocket);, return NULL;,},“