TCP/IP socket programming in C(三)
2014-01-20 22:13
337 查看
// server.c #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <unistd.h> #include <sys/socket.h> #include <netdb.h> int main(int argc, char *argv[]) { int socket_desc, new_socket, c; struct sockaddr_in server, client; char *message; char *client_ip; int client_port; // Create socket socket_desc = socket(AF_INET, SOCK_STREAM, 0); if (socket_desc == -1) { printf("Could not create socket\n"); } // Prepare the sockaddr_in structure server.sin_family = AF_INET; server.sin_addr.s_addr = INADDR_ANY; server.sin_port = htons(8888); // Bind if (bind(socket_desc, (struct sockaddr *)&server, sizeof(server)) < 0) { puts("bind failed"); } puts("bind done"); // Listen listen(socket_desc, 3); // Accept and incoming connection puts("Waiting for incoming connections ..."); c = sizeof(struct sockaddr_in); while (new_socket = accept(socket_desc, (struct sockaddr *)&client, (socklen_t *)&c)) { puts("Connection accepted"); // Get the ip address and the port number of connected client client_ip = inet_ntoa(client.sin_addr); client_port = ntohs(client.sin_port); printf("Connected client ip : %s\n", client_ip); printf(" port : %d\n", client_port); // Reply to the client message = "Hello Client, I have received your connection. But I have to go now, bye.\n"; write(new_socket, message, strlen(message)); } if (new_socket < 0) { perror("accept failed"); return 1; } return 0; }
原文:http://www.binarytides.com/socket-programming-c-linux-tutorial/
相关文章推荐
- A Crash Course in UNIX TCP/IP Socket Programming
- TCP/IP socket programming in C(一)
- TCP/IP socket programming in C(二)
- TCP/IP Socket Communications in MATLAB example
- Introduction Sockets to Programming in C using TCP/IP
- 经典基础教程---Programming TCP/IP Windows Sockets in C++
- Programming TCP/IP Windows Sockets in C++
- TCP/IP_socket_in_C笔记
- Remote Connection via Proxy Server in TCP/IP Socket
- Berkeley Socket API – Creating a TCP/IP Server in C
- Berkeley Socket API – Creating a TCP/IP client in C
- socket programming Max size of tcp/ip socket Buffer?
- tcp/ip socket programming
- 聊聊Socket、TCP/IP、HTTP、FTP及网络编程
- TCP/IP、Http、Socket的区别
- TCP_IP_SOCKET简介
- TCP/IP、Http、Socket的区别
- 网络各个协议:UDP、TCP/IP、SOCKET、HTTP
- 使用TCP/IP的套接字(Socket)进行通信
- Android网络编程之TCP/IP的Socket、ServerSocket模式