socket_init.h
#ifndef __SOCKET_INIT_H
#define __SOCKET_INIT_H
/*socket连接封装*/
int server_tcp_init(int PORT,int MAX_LISTEN);
int client_tcp_init(char* IPADDR,int PORT);
int server_udp_init(int PORT);
int client_udp_init(char* IPADDR,int PORT);
#endif
socket_init.c
#include"socket_init.h"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<errno.h>
#include<sys/types.h>
#include <arpa/inet.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<pthread.h>
#include<unistd.h>
int server_tcp_init(int PORT,int MAX_LISTEN)
{
int serverfd;
serverfd =socket(AF_INET,SOCK_STREAM,0);
if(serverfd < 0){
printf("build socket error: %s(errno: %d)\n",strerror(errno),errno);
exit(0);
}
struct sockaddr_in server_in;
memset(&server_in,0,sizeof(server_in));
server_in.sin_addr.s_addr = htonl(INADDR_ANY);
server_in.sin_family = AF_INET;
server_in.sin_port = htons(PORT);
if(bind(serverfd,(struct sockaddr*)&server_in,sizeof(server_in))==-1){
printf("bind socket error: %s(errno: %d)\n",strerror(errno),errno);
exit(0);
}
if(listen(serverfd,MAX_LISTEN) == -1){
printf("connect socket error: %s(errno: %d)\n",strerror(errno),errno);
exit(0);
}
return serverfd;
}
int client_tcp_init(char* IPADDR,int PORT)
{
int sendfd;
sendfd = socket(AF_INET,SOCK_STREAM,0);
if(sendfd == -1){
printf("create socket fail\n");
exit(0);
}
struct sockaddr_in client_stru;
client_stru.sin_addr.s_addr = inet_addr(IPADDR);
client_stru.sin_family = AF_INET;
client_stru.sin_port = htons(PORT);
if(connect(sendfd,(struct sockaddr*)&client_stru,sizeof(client_stru)) == -1){
printf("connect socket error: %s(errno: %d)\n",strerror(errno),errno);
exit(0);
}
return sendfd;
}
int server_udp_init(int PORT)
{
int serverfd;
serverfd =socket(AF_INET,SOCK_DGRAM,0);
if(serverfd < 0){
printf("build socket error: %s(errno: %d)\n",strerror(errno),errno);
exit(0)