MCPcopy Create free account
hub / github.com/crownengine/crown / connect

Method connect

src/core/network/socket.cpp:256–281  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

254}
255
256ConnectResult TCPSocket::connect(const IPAddress &ip, u16 port)
257{
258 close();
259 _priv->socket = socket_internal::open();
260
261 sockaddr_in addr_in;
262 addr_in.sin_family = AF_INET;
263 addr_in.sin_addr.s_addr = htonl(ip.address());
264 addr_in.sin_port = htons(port);
265
266 int err = ::connect(_priv->socket, (const sockaddr *)&addr_in, sizeof(sockaddr_in));
267
268 ConnectResult cr;
269 cr.error = ConnectResult::SUCCESS;
270
271 if (err == SOCKET_ERROR) {
272 if (last_error() == WSAECONNREFUSED)
273 cr.error = ConnectResult::REFUSED;
274 else if (last_error() == WSAETIMEDOUT)
275 cr.error = ConnectResult::TIMEOUT;
276 else
277 cr.error = ConnectResult::UNKNOWN;
278 }
279
280 return cr;
281}
282
283BindResult TCPSocket::bind(u16 port)
284{

Callers 4

setupFunction · 0.80
setupFunction · 0.80
setupFunction · 0.80
setupFunction · 0.80

Calls 3

openFunction · 0.85
last_errorFunction · 0.85
addressMethod · 0.45

Tested by

no test coverage detected