在Linux平台下用C语言udp协议实现客户与服务器的简单通信与封装的实现
一、服务器端
1、新建CreateServer.c和CreateServer.h文件,服务器的创建代码在此实现,程序中封装了创建TcpSocket和UdpSocket服务器的方法,可直接调用函数创建服务器,客户端的业务则单独处理,方便了逻辑设计与代码移植。
CreateServer.h代码如下:
#ifndef CREATESERVER_H
#define CREATESERVER_H
int create_tcp_server(int);
int create_udp_server(int);
#endif // CREATESERVER_H
CreateServer.c代码如下:
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#define LISTEN_SIZE 20
int start_server(int port, int type){
//建立服务器套接字
int ss = socket(AF_INET, type, 0);
if(ss < 0){
printf("create socket error\n");
return -1;
}
//设置服务器地址
struct sockaddr_in server_addr; //服务器地址结构
bzero(&server_addr, sizeof(struct sockaddr_in)); //清零
server_addr.sin_family = AF_INET; //协议族
server_addr.sin_addr.s_addr = htonl(INADDR_ANY); //ip地址
server_addr.sin_port = htons(port); //端口
//绑定地址结构到套接字描述符
if(bind(ss, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0){
printf(