-
Notifications
You must be signed in to change notification settings - Fork 0
/
dmf_socket.c
41 lines (30 loc) · 883 Bytes
/
dmf_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
#include "dmf_socket.h"
int sock_listening(int port){
int sListen;
struct sockaddr_in ser;
sListen = socket(AF_INET, SOCK_STREAM, 0);
ser.sin_family = AF_INET;
ser.sin_port = htons(port);
ser.sin_addr.s_addr = htonl(INADDR_ANY);
if( bind(sListen, (struct sockaddr*)&ser, sizeof(ser) ) < 0) {
return -1;
}
if( listen(sListen,5) != 0) {
return -1;
}
return sListen;
}
int sock_connection(char* ip, int port) {
int hSocket;
struct sockaddr_in servAddr;
hSocket = socket(PF_INET, SOCK_STREAM, 0);
if (hSocket == -1)
return -1;
memset(&servAddr, 0, sizeof(servAddr));
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = inet_addr(ip);
servAddr.sin_port = htons(port);
if(connect(hSocket, (struct sockaddr*) &servAddr, sizeof(servAddr)) == -1)
return -1;
return hSocket;
}