-
Notifications
You must be signed in to change notification settings - Fork 52
/
my_socket.c
60 lines (55 loc) · 2.05 KB
/
my_socket.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*************************************************************************
> File Name: my_socket.c
> Author: CarlSun
> Mail:sunxiuyang04@gmail.com
> Created Time: Sat Aug 20 20:36:03 2016
************************************************************************/
#include"my_socket.h"
void my_socketCli(int *fd_socket,int type,char* ip,int port,SA *my_addr){
ASSERT(type==MY_TCP || type==MY_UDP,"invalid arg\n");
if(type==MY_TCP){
ASSERT((*fd_socket=socket(AF_INET,SOCK_STREAM,0))!=-1,"TCP socket init fail\n");
}else if(type==MY_UDP){
ASSERT((*fd_socket=socket(AF_INET,SOCK_DGRAM,0))!=-1,"UDP socket init fail\n");
}
memset(my_addr,0,sizeof(SA));
(*my_addr).sin_family=AF_INET;
(*my_addr).sin_port=htons(port);
(*my_addr).sin_addr.s_addr=inet_addr(ip);
return;
}
void my_socketSer(int *fd_socket,int type,char* ip,int port){
ASSERT(type==MY_TCP || type==MY_UDP,"invalid arg\n");
if(type == MY_TCP){
ASSERT((*fd_socket=socket(AF_INET,SOCK_STREAM,0))!=-1,"TCP socket init fail");
} else if(type == MY_UDP){
ASSERT((*fd_socket=socket(AF_INET,SOCK_DGRAM,0))!=-1,"UDP socket init fail\n");
}
SA my_addr;
memset(&my_addr,0,sizeof(my_addr));
my_addr.sin_family=AF_INET;
printf("PORT:%d IP:%s\n",port,ip);
my_addr.sin_port=htons(port);
my_addr.sin_addr.s_addr=inet_addr(ip);
int len = sizeof(my_addr);
ASSERT(bind(*fd_socket,(struct sockaddr*)&my_addr,len)!=-1,"bind fail\n");
return;
}
void my_listen(int fd_socket,int listen_num){
ASSERT((listen(fd_socket,listen_num))!=-1,"listen fail\n");
}
void my_accept(int *fd_client,int fd_socket,pSA client_addr,int *addrlen){
ASSERT((*fd_client = accept(fd_socket,client_addr,addrlen))!=-1,"server accept fail\n");
}
void my_send(int *sendlen,int fd_socket,int *msg,int len){
ASSERT((*sendlen=send(fd_socket,msg,len,0))!=-1,"send fail\n");
}
void my_recv(int *recvlen,int fd_socket,int *msg,int len){
ASSERT((*recvlen=recv(fd_socket,msg,len,0))!=-1,"recv fail\n");
}
void my_close(int fd_socket){
close(fd_socket);
}
void my_connect(int fd_socket,pSA server_addr,int len){
connect(fd_socket,server_addr,len);
}