MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / socketServerSnippet

Method socketServerSnippet

Tests/Libraries/Socket/SocketTest.cpp:263–293  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

261}
262
263SC::Result SC::SocketTest::socketServerSnippet()
264{
265 //! [socketServerSnippet]
266 SocketDescriptor serverSocket;
267 SocketServer server(serverSocket);
268
269 // Look for an available port
270 constexpr int tcpPort = 5050;
271 const StringView serverAddress = "::1"; // or "127.0.0.1"
272 SocketIPAddress nativeAddress;
273 SC_TRY(nativeAddress.fromAddressPort(serverAddress, tcpPort));
274 SocketFlags::AddressFamily family = nativeAddress.getAddressFamily();
275
276 // Create socket and start listening
277 SC_TRY(serverSocket.create(family)); // By default creates a TCP Server
278
279 // [Alternatively] Create an UDP socket instead
280 // SC_TRY(serverSocket.create(family, SocketFlags::SocketDgram, SocketFlags::ProtocolUdp));
281
282 SC_TRY(server.bind(nativeAddress)); // Bind the socket to the given address
283 SC_TRY(server.listen(1)); // Start listening (skip this for UDP sockets)
284
285 // Accept a client
286 SocketDescriptor acceptedClientSocket;
287 SC_TRY(server.accept(family, acceptedClientSocket));
288 SC_TRY(acceptedClientSocket.isValid());
289
290 // ... Do something with acceptedClientSocket
291 //! [socketServerSnippet]
292 return Result(true);
293}
294
295SC::Result SC::SocketTest::socketClientAcceptSnippet()
296{

Callers

nothing calls this directly

Calls 6

getAddressFamilyMethod · 0.80
ResultClass · 0.50
createMethod · 0.45
bindMethod · 0.45
acceptMethod · 0.45
isValidMethod · 0.45

Tested by

no test coverage detected