MCPcopy Create free account
hub / github.com/defold/defold / Connect

Function Connect

engine/dlib/src/dlib/http_server.cpp:116–166  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

114 }
115
116 static Result Connect(Server* server, uint16_t port)
117 {
118 dmSocket::Socket socket = dmSocket::INVALID_SOCKET_HANDLE;
119 dmSocket::Address bind_address;
120 dmSocket::Result r = dmSocket::RESULT_OK;
121
122 Disconnect(server);
123
124 r = dmSocket::GetHostByName(DM_UNIVERSAL_BIND_ADDRESS_IPV4, &bind_address);
125 if (r != dmSocket::RESULT_OK)
126 {
127 return RESULT_SOCKET_ERROR;
128 }
129
130 r = dmSocket::New(bind_address.m_family, dmSocket::TYPE_STREAM, dmSocket::PROTOCOL_TCP, &socket);
131 if (r != dmSocket::RESULT_OK)
132 {
133 return RESULT_UNKNOWN;
134 }
135
136 dmSocket::SetReuseAddress(socket, true);
137
138 r = dmSocket::Bind(socket, bind_address, port);
139 if (r != dmSocket::RESULT_OK)
140 {
141 dmSocket::Delete(socket);
142 return RESULT_SOCKET_ERROR;
143 }
144
145 r = dmSocket::Listen(socket, 32);
146 if (r != dmSocket::RESULT_OK)
147 {
148 dmSocket::Delete(socket);
149 return RESULT_SOCKET_ERROR;
150 }
151
152 dmSocket::Address address;
153 uint16_t actual_port;
154 r = dmSocket::GetName(socket, &address, &actual_port);
155 if (r != dmSocket::RESULT_OK)
156 {
157 dmSocket::Delete(socket);
158 return RESULT_SOCKET_ERROR;
159 }
160
161 server->m_Address = address;
162 server->m_Port = actual_port;
163 server->m_ServerSocket = socket;
164
165 return RESULT_OK;
166 }
167
168 Result New(const NewParams* params, uint16_t port, HServer* server)
169 {

Callers 6

NewFunction · 0.70
UpdateFunction · 0.70
TESTFunction · 0.50
TYPED_TESTFunction · 0.50
TESTFunction · 0.50
ConnectTLSSocketFunction · 0.50

Calls 8

DisconnectFunction · 0.85
GetHostByNameFunction · 0.70
NewFunction · 0.70
SetReuseAddressFunction · 0.70
BindFunction · 0.70
DeleteFunction · 0.70
ListenFunction · 0.70
GetNameFunction · 0.70

Tested by 4

TESTFunction · 0.40
TYPED_TESTFunction · 0.40
TESTFunction · 0.40
ConnectTLSSocketFunction · 0.40