From 7856bf3569cc448fe3b360c3fca836593a0c0c7d Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Mon, 06 Nov 2023 17:01:27 +0800 Subject: [PATCH] format c source code --- ch1_fileIO/redirect_stdio.c | 20 +- ch2_socket/socktcp_server.c | 166 ++++++++-------- ch2_socket/sockudp_client.c | 104 +++++----- ch1_fileIO/file_io.c | 6 ch1_fileIO/stat.c | 10 ch2_socket/socktcp_client.c | 128 ++++++------ ch1_fileIO/access.c | 10 ch1_fileIO/syserr.c | 6 ch2_socket/sockudp_server.c | 124 ++++++------ 9 files changed, 287 insertions(+), 287 deletions(-) diff --git a/ch1_fileIO/access.c b/ch1_fileIO/access.c index 46c2b0d..8540f85 100644 --- a/ch1_fileIO/access.c +++ b/ch1_fileIO/access.c @@ -3,10 +3,10 @@ #include <unistd.h> #define TEST_FILE "access.c" - + int main(void) { - if( access(TEST_FILE, F_OK)!=0 ) + if( access(TEST_FILE, F_OK)!=0 ) { printf("File %s not exist!\n", TEST_FILE); return 0; @@ -14,13 +14,13 @@ printf("File %s exist!\n", TEST_FILE); - if(access(TEST_FILE, R_OK)==0) + if(access(TEST_FILE, R_OK)==0) printf("READ OK\n"); - if(access(TEST_FILE, W_OK)==0) + if(access(TEST_FILE, W_OK)==0) printf("WRITE OK\n"); - if(access(TEST_FILE, X_OK)==0) + if(access(TEST_FILE, X_OK)==0) printf("EXEC OK\n"); return 0; diff --git a/ch1_fileIO/file_io.c b/ch1_fileIO/file_io.c index 79b2365..c04a98b 100644 --- a/ch1_fileIO/file_io.c +++ b/ch1_fileIO/file_io.c @@ -1,6 +1,6 @@ -#include <stdio.h> +#include <stdio.h> #include <errno.h> -#include <string.h> +#include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> @@ -40,6 +40,6 @@ cleanup: close(fd); - + return 0; } diff --git a/ch1_fileIO/redirect_stdio.c b/ch1_fileIO/redirect_stdio.c index a73f1ea..f02e031 100644 --- a/ch1_fileIO/redirect_stdio.c +++ b/ch1_fileIO/redirect_stdio.c @@ -1,28 +1,28 @@ -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <unistd.h> +#include <stdio.h> +#include <string.h> +#include <errno.h> +#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main(int argc, char *argv) -{ - int fd = -1; +{ + int fd = -1; fd = open("std.txt", O_RDWR|O_CREAT|O_TRUNC, 0666); if(fd < 0) { printf("Open file failure: %s\n", strerror(errno)); return 1; - } - + } + dup2(fd, STDIN_FILENO); dup2(fd, STDOUT_FILENO); dup2(fd, STDERR_FILENO); - printf("fd=%d\n", fd); - + printf("fd=%d\n", fd); + close(fd); return 0; diff --git a/ch1_fileIO/stat.c b/ch1_fileIO/stat.c index bf3ba9d..2ce2d59 100644 --- a/ch1_fileIO/stat.c +++ b/ch1_fileIO/stat.c @@ -5,11 +5,11 @@ int main (int argc, char **argv) { - struct stat stbuf; - - stat("stat.c", &stbuf); - printf("File Mode: %o Real Size: %luB, Space Size: %luB\n", stbuf.st_mode, stbuf.st_size, stbuf.st_blksize); - + struct stat stbuf; + + stat("stat.c", &stbuf); + printf("File Mode: %o Real Size: %luB, Space Size: %luB\n", stbuf.st_mode, stbuf.st_size, stbuf.st_blksize); + return 0; } diff --git a/ch1_fileIO/syserr.c b/ch1_fileIO/syserr.c index 22f775b..df8ed1f 100644 --- a/ch1_fileIO/syserr.c +++ b/ch1_fileIO/syserr.c @@ -11,12 +11,12 @@ { char *file_name = "/test.txt"; int fd=-1; - + fd=open(file_name, O_RDONLY, 066); if( fd < 0 ) { - perror("Open file failure"); - printf("Open file %s failure: %s\n", file_name, strerror(errno)); + perror("Open file failure"); + printf("Open file %s failure: %s\n", file_name, strerror(errno)); return 0; } diff --git a/ch2_socket/socktcp_client.c b/ch2_socket/socktcp_client.c index 2040cf6..603f017 100644 --- a/ch2_socket/socktcp_client.c +++ b/ch2_socket/socktcp_client.c @@ -1,14 +1,14 @@ /********************************************************************************* - * Copyright: (C) 2018 LingYun IoT Studio - * All rights reserved. + * Copyright: (C) 2018 LingYun IoT Studio + * All rights reserved. * - * Filename: socktcp_client.c - * Description: This file is TCP socket client example source code. - * - * Version: 1.0.0(10/23/2018) - * Author: Guo Wenxue <guowenxue@gmail.com> - * ChangeLog: 1, Release initial version on "2018-10-23 01:38:08 PM" - * + * Filename: socktcp_client.c + * Description: This file is TCP socket client example source code. + * + * Version: 1.0.0(10/23/2018) + * Author: Guo Wenxue <guowenxue@gmail.com> + * ChangeLog: 1, Release initial version on "2018-10-23 01:38:08 PM" + * ********************************************************************************/ #include <stdio.h> #include <errno.h> @@ -20,71 +20,71 @@ #include <netinet/in.h> #include <arpa/inet.h> -#define SERVER_IP "127.0.0.1" -#define SERVER_PORT 8889 +#define SERVER_IP "127.0.0.1" +#define SERVER_PORT 8889 int main(int argc, char **argv) { - int conn_fd = -1; - int rv = -1; - char buf[1024]; - struct sockaddr_in serv_addr; - float temp; + int conn_fd = -1; + int rv = -1; + char buf[1024]; + struct sockaddr_in serv_addr; + float temp; - /* create TCP socket */ - conn_fd = socket(AF_INET, SOCK_STREAM, 0); - if(conn_fd < 0) - { - printf("create socket failure: %s\n", strerror(errno)); - return -1; - } + /* create TCP socket */ + conn_fd = socket(AF_INET, SOCK_STREAM, 0); + if(conn_fd < 0) + { + printf("create socket failure: %s\n", strerror(errno)); + return -1; + } - /* set socket server information */ - memset(&serv_addr, 0, sizeof(serv_addr)); - serv_addr.sin_family = AF_INET; - serv_addr.sin_port = htons(SERVER_PORT); - inet_aton( SERVER_IP, &serv_addr.sin_addr ); + /* set socket server information */ + memset(&serv_addr, 0, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + serv_addr.sin_port = htons(SERVER_PORT); + inet_aton( SERVER_IP, &serv_addr.sin_addr ); - /* connect to socket server */ - if( connect(conn_fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) - { - printf("connect to server [%s:%d] failure: %s\n", SERVER_IP, SERVER_PORT, strerror(errno)); - return 0; - } + /* connect to socket server */ + if( connect(conn_fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) + { + printf("connect to server [%s:%d] failure: %s\n", SERVER_IP, SERVER_PORT, strerror(errno)); + return 0; + } - while(1) - { - /* send message to socket server */ - strncpy(buf, "Hello, LingYun IoT socket server!", sizeof(buf)); - if( write(conn_fd, buf, strlen(buf)) < 0 ) - { - printf("Write data to server [%s:%d] failure: %s\n", SERVER_IP, SERVER_PORT, strerror(errno)); - goto cleanup; - } - printf("Send message to socket server okay\n"); + while(1) + { + /* send message to socket server */ + strncpy(buf, "Hello, LingYun IoT socket server!", sizeof(buf)); + if( write(conn_fd, buf, strlen(buf)) < 0 ) + { + printf("Write data to server [%s:%d] failure: %s\n", SERVER_IP, SERVER_PORT, strerror(errno)); + goto cleanup; + } + printf("Send message to socket server okay\n"); - /* receive message from socket server */ - memset(buf, 0, sizeof(buf)); - printf("Wating reply from socket server...\n"); - rv = read(conn_fd, buf, sizeof(buf)); - if(rv < 0) - { - printf("Read data from server failure: %s\n", strerror(errno)); - goto cleanup; - } - else if( 0 == rv ) - { - printf("Client connect to server get disconnected\n"); - goto cleanup; - } - printf("Receive [%d] bytes data from server: %s", rv, buf); - printf("\n"); + /* receive message from socket server */ + memset(buf, 0, sizeof(buf)); + printf("Wating reply from socket server...\n"); + rv = read(conn_fd, buf, sizeof(buf)); + if(rv < 0) + { + printf("Read data from server failure: %s\n", strerror(errno)); + goto cleanup; + } + else if( 0 == rv ) + { + printf("Client connect to server get disconnected\n"); + goto cleanup; + } + printf("Receive [%d] bytes data from server: %s", rv, buf); + printf("\n"); - sleep(3); - } + sleep(3); + } cleanup: - close(conn_fd); - return 0; + close(conn_fd); + return 0; } diff --git a/ch2_socket/socktcp_server.c b/ch2_socket/socktcp_server.c index 17ab23c..34c3ec9 100644 --- a/ch2_socket/socktcp_server.c +++ b/ch2_socket/socktcp_server.c @@ -1,14 +1,14 @@ /********************************************************************************* - * Copyright: (C) 2018 LingYun IoT Studio - * All rights reserved. + * Copyright: (C) 2018 LingYun IoT Studio + * All rights reserved. * - * Filename: socket_server.c - * Description: This file is TCP socket server example source code. - * - * Version: 1.0.0(10/23/2018) - * Author: Guo Wenxue <guowenxue@gmail.com> - * ChangeLog: 1, Release initial version on "2017-10-23 01:41:05 PM" - * + * Filename: socket_server.c + * Description: This file is TCP socket server example source code. + * + * Version: 1.0.0(10/23/2018) + * Author: Guo Wenxue <guowenxue@gmail.com> + * ChangeLog: 1, Release initial version on "2017-10-23 01:41:05 PM" + * ********************************************************************************/ #include <stdio.h> @@ -20,92 +20,92 @@ #include <netinet/in.h> #include <arpa/inet.h> -#define LISTEN_PORT 8889 -#define BACKLOG 13 +#define LISTEN_PORT 8889 +#define BACKLOG 13 int main(int argc, char **argv) { - int rv = -1; - int listen_fd, client_fd = -1; - struct sockaddr_in serv_addr; - struct sockaddr_in cli_addr; - socklen_t addr_len = sizeof(cli_addr); - char buf[1024]; - int reuse = 1; + int rv = -1; + int listen_fd, client_fd = -1; + struct sockaddr_in serv_addr; + struct sockaddr_in cli_addr; + socklen_t addr_len = sizeof(cli_addr); + char buf[1024]; + int reuse = 1; - /* create TCP socket */ - listen_fd = socket(AF_INET, SOCK_STREAM, 0); - if(listen_fd < 0 ) - { - printf("create socket failure: %s\n", strerror(errno)); - return -1; - } - printf("socket create fd[%d]\n", listen_fd); + /* create TCP socket */ + listen_fd = socket(AF_INET, SOCK_STREAM, 0); + if(listen_fd < 0 ) + { + printf("create socket failure: %s\n", strerror(errno)); + return -1; + } + printf("socket create fd[%d]\n", listen_fd); - /* Fix port can not be used when stop server program and run it again immediately. */ - setsockopt(listen_fd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)); + /* Fix port can not be used when stop server program and run it again immediately. */ + setsockopt(listen_fd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)); - /* bind socket server information */ - memset(&serv_addr, 0, sizeof(serv_addr)); - serv_addr.sin_family = AF_INET; - serv_addr.sin_port = htons(LISTEN_PORT); - serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); - if( bind(listen_fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0 ) - { - printf("create socket failure: %s\n", strerror(errno)); - return -2; - } - printf("socket[%d] bind on port[%d] for all IP address ok\n", listen_fd, LISTEN_PORT); + /* bind socket server information */ + memset(&serv_addr, 0, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + serv_addr.sin_port = htons(LISTEN_PORT); + serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); + if( bind(listen_fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0 ) + { + printf("create socket failure: %s\n", strerror(errno)); + return -2; + } + printf("socket[%d] bind on port[%d] for all IP address ok\n", listen_fd, LISTEN_PORT); - /* start listen socket */ - listen(listen_fd, BACKLOG); + /* start listen socket */ + listen(listen_fd, BACKLOG); - while(1) - { - /* accept new incoming socket client */ - printf("\nStart waiting and accept new client connect...\n"); - client_fd = accept(listen_fd, (struct sockaddr*)&cli_addr, &addr_len); - if(client_fd < 0) - { - printf("accept new socket failure: %s\n", strerror(errno)); - return -2; - } - printf("Accept new client[%s:%d] with fd [%d]\n", inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port), client_fd); + while(1) + { + /* accept new incoming socket client */ + printf("\nStart waiting and accept new client connect...\n"); + client_fd = accept(listen_fd, (struct sockaddr*)&cli_addr, &addr_len); + if(client_fd < 0) + { + printf("accept new socket failure: %s\n", strerror(errno)); + return -2; + } + printf("Accept new client[%s:%d] with fd [%d]\n", inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port), client_fd); - while(1) - { - /* receive message from socket client */ - memset(buf, 0, sizeof(buf)); - if( (rv=read(client_fd, buf, sizeof(buf))) < 0) - { - printf("Read data from client socket[%d] failure: %s\n", client_fd, strerror(errno)); - close(client_fd); - break; - } - else if( rv == 0 ) - { - printf("client socket[%d] disconnected\n", client_fd); - close(client_fd); - break; - } + while(1) + { + /* receive message from socket client */ + memset(buf, 0, sizeof(buf)); + if( (rv=read(client_fd, buf, sizeof(buf))) < 0) + { + printf("Read data from client socket[%d] failure: %s\n", client_fd, strerror(errno)); + close(client_fd); + break; + } + else if( rv == 0 ) + { + printf("client socket[%d] disconnected\n", client_fd); + close(client_fd); + break; + } - printf("Read [%d] bytes data from socket client[%d]: %s\n", rv, client_fd, buf); + printf("Read [%d] bytes data from socket client[%d]: %s\n", rv, client_fd, buf); - /* send message to socket client */ - printf("Reply back to socket client...\n"); - snprintf(buf, sizeof(buf), "Hello, socket client [%s:%d]\n", inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port)); - if( write(client_fd, buf, strlen(buf)) < 0 ) - { - printf("Reply back to socket client[%d] failure: %s\n", client_fd, strerror(errno)); - close(client_fd); - } - printf("\n"); - } + /* send message to socket client */ + printf("Reply back to socket client...\n"); + snprintf(buf, sizeof(buf), "Hello, socket client [%s:%d]\n", inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port)); + if( write(client_fd, buf, strlen(buf)) < 0 ) + { + printf("Reply back to socket client[%d] failure: %s\n", client_fd, strerror(errno)); + close(client_fd); + } + printf("\n"); + } - close(client_fd); - } + close(client_fd); + } - close(listen_fd); - return 0; + close(listen_fd); + return 0; } diff --git a/ch2_socket/sockudp_client.c b/ch2_socket/sockudp_client.c index ebe318b..3674339 100644 --- a/ch2_socket/sockudp_client.c +++ b/ch2_socket/sockudp_client.c @@ -1,13 +1,13 @@ /********************************************************************************* - * Copyright: (C) 2018 LingYun IoT Studio - * All rights reserved. + * Copyright: (C) 2018 LingYun IoT Studio + * All rights reserved. * - * Filename: sockudp_client.c - * Description: This file is UDP socket client example source code. + * Filename: sockudp_client.c + * Description: This file is UDP socket client example source code. * - * Version: 1.0.0(10/23/2018) - * Author: Guo Wenxue <guowenxue@gmail.com> - * ChangeLog: 1, Release initial version on "2018-10-23 01:38:08 PM" + * Version: 1.0.0(10/23/2018) + * Author: Guo Wenxue <guowenxue@gmail.com> + * ChangeLog: 1, Release initial version on "2018-10-23 01:38:08 PM" * ********************************************************************************/ #include <stdio.h> @@ -20,59 +20,59 @@ #include <netinet/in.h> #include <arpa/inet.h> -#define SERVER_IP "127.0.0.1" -#define SERVER_PORT 8890 +#define SERVER_IP "127.0.0.1" +#define SERVER_PORT 8890 int main(int argc, char **argv) { - int sockfd = -1; - int rv = -1; - char buf[1024]; - struct sockaddr_in serv_addr; - socklen_t addrlen = sizeof(serv_addr); - float temp; + int sockfd = -1; + int rv = -1; + char buf[1024]; + struct sockaddr_in serv_addr; + socklen_t addrlen = sizeof(serv_addr); + float temp; - /* create UDP socket */ - sockfd = socket(AF_INET, SOCK_DGRAM, 0); - if(sockfd < 0) - { - printf("create socket failure: %s\n", strerror(errno)); - return -1; - } + /* create UDP socket */ + sockfd = socket(AF_INET, SOCK_DGRAM, 0); + if(sockfd < 0) + { + printf("create socket failure: %s\n", strerror(errno)); + return -1; + } - /* set socket server information */ - memset(&serv_addr, 0, sizeof(serv_addr)); - serv_addr.sin_family = AF_INET; - serv_addr.sin_port = htons(SERVER_PORT); - inet_aton( SERVER_IP, &serv_addr.sin_addr ); + /* set socket server information */ + memset(&serv_addr, 0, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + serv_addr.sin_port = htons(SERVER_PORT); + inet_aton( SERVER_IP, &serv_addr.sin_addr ); - while(1) - { - /* send message to socket server */ - strncpy(buf, "Hello, LingYun IoT socket server!", sizeof(buf)); - if( sendto(sockfd, buf, strlen(buf), 0, (struct sockaddr *)&serv_addr, addrlen) < 0 ) - { - printf("Write data to server [%s:%d] failure: %s\n", SERVER_IP, SERVER_PORT, strerror(errno)); - break; - } - printf("Send message to socket server okay\n"); + while(1) + { + /* send message to socket server */ + strncpy(buf, "Hello, LingYun IoT socket server!", sizeof(buf)); + if( sendto(sockfd, buf, strlen(buf), 0, (struct sockaddr *)&serv_addr, addrlen) < 0 ) + { + printf("Write data to server [%s:%d] failure: %s\n", SERVER_IP, SERVER_PORT, strerror(errno)); + break; + } + printf("Send message to socket server okay\n"); - /* receive message from socket server */ - memset(buf, 0, sizeof(buf)); - printf("Wating reply from socket server...\n"); - rv = recvfrom(sockfd, buf, sizeof(buf), 0, (struct sockaddr *)&serv_addr, &addrlen); - if(rv < 0) - { - printf("Read data from server failure: %s\n", strerror(errno)); - break; - } - printf("Receive [%d] bytes data from server: %s", rv, buf); - printf("\n"); + /* receive message from socket server */ + memset(buf, 0, sizeof(buf)); + printf("Wating reply from socket server...\n"); + rv = recvfrom(sockfd, buf, sizeof(buf), 0, (struct sockaddr *)&serv_addr, &addrlen); + if(rv < 0) + { + printf("Read data from server failure: %s\n", strerror(errno)); + break; + } + printf("Receive [%d] bytes data from server: %s", rv, buf); + printf("\n"); - sleep(3); - } + sleep(3); + } - close(sockfd); - return 0; + close(sockfd); + return 0; } diff --git a/ch2_socket/sockudp_server.c b/ch2_socket/sockudp_server.c index 56166d1..0e31f77 100644 --- a/ch2_socket/sockudp_server.c +++ b/ch2_socket/sockudp_server.c @@ -1,14 +1,14 @@ /********************************************************************************* - * Copyright: (C) 2018 LingYun IoT Studio - * All rights reserved. + * Copyright: (C) 2018 LingYun IoT Studio + * All rights reserved. * - * Filename: socket_server.c - * Description: This file is UDP socket server example source code. - * - * Version: 1.0.0(10/23/2018) - * Author: Guo Wenxue <guowenxue@gmail.com> - * ChangeLog: 1, Release initial version on "2017-10-23 01:41:05 PM" - * + * Filename: socket_server.c + * Description: This file is UDP socket server example source code. + * + * Version: 1.0.0(10/23/2018) + * Author: Guo Wenxue <guowenxue@gmail.com> + * ChangeLog: 1, Release initial version on "2017-10-23 01:41:05 PM" + * ********************************************************************************/ #include <stdio.h> @@ -20,67 +20,67 @@ #include <netinet/in.h> #include <arpa/inet.h> -#define LISTEN_PORT 8890 -#define BACKLOG 13 +#define LISTEN_PORT 8890 +#define BACKLOG 13 int main(int argc, char **argv) { - int rv = -1; - int sockfd; - struct sockaddr_in serv_addr; - struct sockaddr_in cli_addr; - socklen_t addr_len = sizeof(cli_addr); - char buf[1024]; - int reuse = 1; + int rv = -1; + int sockfd; + struct sockaddr_in serv_addr; + struct sockaddr_in cli_addr; + socklen_t addr_len = sizeof(cli_addr); + char buf[1024]; + int reuse = 1; - /* create UDP socket */ - sockfd = socket(AF_INET, SOCK_DGRAM, 0); - if(sockfd < 0 ) - { - printf("create socket failure: %s\n", strerror(errno)); - return -1; - } - printf("socket create fd[%d]\n", sockfd); + /* create UDP socket */ + sockfd = socket(AF_INET, SOCK_DGRAM, 0); + if(sockfd < 0 ) + { + printf("create socket failure: %s\n", strerror(errno)); + return -1; + } + printf("socket create fd[%d]\n", sockfd); - /* fix port can not be used when stop server program and run it again immediately */ - setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)); + /* fix port can not be used when stop server program and run it again immediately */ + setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)); - /* bind socket server information */ - memset(&serv_addr, 0, sizeof(serv_addr)); - serv_addr.sin_family = AF_INET; - serv_addr.sin_port = htons(LISTEN_PORT); - serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); - if( bind(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0 ) - { - printf("create socket failure: %s\n", strerror(errno)); - return -2; - } - printf("socket[%d] bind on port[%d] for all IP address ok\n", sockfd, LISTEN_PORT); + /* bind socket server information */ + memset(&serv_addr, 0, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + serv_addr.sin_port = htons(LISTEN_PORT); + serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); + if( bind(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0 ) + { + printf("create socket failure: %s\n", strerror(errno)); + return -2; + } + printf("socket[%d] bind on port[%d] for all IP address ok\n", sockfd, LISTEN_PORT); - while(1) - { - /* receive message from socket client */ - memset(buf, 0, sizeof(buf)); - if( (rv=recvfrom(sockfd, buf, sizeof(buf), 0, (struct sockaddr *)&cli_addr, &addr_len)) < 0) - { - printf("Read data from socket[%d] failure: %s\n", sockfd, strerror(errno)); - break; - } - printf("Read [%d] bytes data from client[%s:%d]: %s\n", - rv, inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port), buf); + while(1) + { + /* receive message from socket client */ + memset(buf, 0, sizeof(buf)); + if( (rv=recvfrom(sockfd, buf, sizeof(buf), 0, (struct sockaddr *)&cli_addr, &addr_len)) < 0) + { + printf("Read data from socket[%d] failure: %s\n", sockfd, strerror(errno)); + break; + } + printf("Read [%d] bytes data from client[%s:%d]: %s\n", + rv, inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port), buf); - /* send message to socket client */ - printf("Reply back to socket client...\n"); - snprintf(buf, sizeof(buf), "Hello, socket client [%s:%d]\n", inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port)); - if( (rv=sendto(sockfd, buf, sizeof(buf), 0, (struct sockaddr *)&cli_addr, addr_len)) < 0) - { - printf("Reply back to socket client[%d] failure: %s\n", sockfd, strerror(errno)); - break; - } - printf("\n"); - } + /* send message to socket client */ + printf("Reply back to socket client...\n"); + snprintf(buf, sizeof(buf), "Hello, socket client [%s:%d]\n", inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port)); + if( (rv=sendto(sockfd, buf, sizeof(buf), 0, (struct sockaddr *)&cli_addr, addr_len)) < 0) + { + printf("Reply back to socket client[%d] failure: %s\n", sockfd, strerror(errno)); + break; + } + printf("\n"); + } - close(sockfd); - return 0; + close(sockfd); + return 0; } -- Gitblit v1.9.1