MCPcopy Create free account
hub / github.com/Tencent/phxsql / Bind

Method Bind

phxcomm/net/net.cpp:26–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24namespace phxsql {
25
26int NetIO::Bind(const char *ip, const uint32_t &port) {
27 int server_sockfd = socket(AF_INET, SOCK_STREAM, 0);
28
29 struct sockaddr_in server_sockaddr;
30 server_sockaddr.sin_family = AF_INET;
31 server_sockaddr.sin_port = htons(port);
32 server_sockaddr.sin_addr.s_addr = inet_addr(ip);
33
34 int enable = 1;
35 setsockopt(server_sockfd, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int));
36
37 if (bind(server_sockfd, (struct sockaddr *) &server_sockaddr, sizeof(server_sockaddr)) == -1) {
38 ColorLogError("bind fail, ip %s port %d", ip, port);
39 return SOCKET_FAIL;
40 }
41
42 if (listen(server_sockfd, 20) == -1) {
43 ColorLogError("listen fail");
44 return SOCKET_FAIL;
45 }
46 ColorLogInfo("bind ip %s port %d ok", ip, port);
47 return server_sockfd;
48}
49
50int NetIO::SetSendTimeOut(const int &fd) {
51 struct timeval timeout = { 1, 0 };

Callers

nothing calls this directly

Calls 2

ColorLogErrorFunction · 0.85
ColorLogInfoFunction · 0.85

Tested by

no test coverage detected