summaryrefslogtreecommitdiff
path: root/server/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'server/server.cpp')
-rw-r--r--server/server.cpp48
1 files changed, 0 insertions, 48 deletions
diff --git a/server/server.cpp b/server/server.cpp
deleted file mode 100644
index 010ec84..0000000
--- a/server/server.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-#include "server.hpp"
-
-int server::c_server::init( ) {
-#if WIN
- if( WSAStartup( MAKEWORD( 2, 2 ), &m_sock_data ) ) // windows
- return 1;
-#endif
-
- m_socket = socket( AF_INET, SOCK_STREAM, 0 );
- if( m_socket == INVALID_SOCKET )
- return 2;
-
- sockaddr_in server_address{ };
- server_address.sin_addr.s_addr = INADDR_ANY;
- server_address.sin_port = htons( PORT_NUM );
- server_address.sin_family = AF_INET;
-
- auto result = ::bind( m_socket, ( sockaddr* )( &server_address ), sizeof( server_address ) );
- return result != -1 ? 0 : 3;
-}
-
-void server::c_server::listen( ) {
- ::listen( m_socket, 5 );
-
- sockaddr_in client_address{ };
-
- // not needed, this is set in accept, values are input.
- // client_address.sin_port = htons( PORT_NUM );
- int len = sizeof( client_address );
-
- SOCKET result = accept( m_socket, ( sockaddr* )( &client_address ), &len );
- if( result == INVALID_SOCKET ) {
- printf( "socket error accepting a connection\n" );
- return;
- }
-
- printf( "incoming connection from: %s\n", inet_ntoa( client_address.sin_addr ) );
-
- // connection established.
- auto client = std::make_shared< c_client >( result, client_address.sin_addr );
-
- // handshake.
- client->send_msg( "hello" );
-
- // surprised it even works with shared_ptr.
- std::thread thread{ &c_client::handle, client };
- thread.detach( );
-}