proof of concept server implementation
This commit is contained in:
		
							
								
								
									
										30
									
								
								examples/echo_server/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								examples/echo_server/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| # | ||||
| # Author: Benjamin Sergeant | ||||
| # Copyright (c) 2018 Machine Zone, Inc. All rights reserved. | ||||
| # | ||||
|  | ||||
| cmake_minimum_required (VERSION 3.4.1) | ||||
| project (echo_server) | ||||
|  | ||||
| # There's -Weverything too for clang | ||||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Wshorten-64-to-32") | ||||
|  | ||||
| set (OPENSSL_PREFIX /usr/local/opt/openssl) # Homebrew openssl | ||||
|  | ||||
| set (CMAKE_CXX_STANDARD 11) | ||||
|  | ||||
| option(USE_TLS "Add TLS support" ON) | ||||
|  | ||||
| add_subdirectory(${PROJECT_SOURCE_DIR}/../.. ixwebsocket) | ||||
|  | ||||
| include_directories(echo_server .) | ||||
|  | ||||
| add_executable(echo_server  | ||||
|   echo_server.cpp) | ||||
|  | ||||
| if (APPLE AND USE_TLS) | ||||
|     target_link_libraries(echo_server "-framework foundation" "-framework security") | ||||
| endif() | ||||
|  | ||||
| target_link_libraries(echo_server ixwebsocket) | ||||
| install(TARGETS echo_server DESTINATION bin) | ||||
							
								
								
									
										29
									
								
								examples/echo_server/echo_server.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								examples/echo_server/echo_server.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| /* | ||||
|  *  echo_server.cpp | ||||
|  *  Author: Benjamin Sergeant | ||||
|  *  Copyright (c) 2018 Machine Zone, Inc. All rights reserved. | ||||
|  */ | ||||
|  | ||||
| #include <iostream> | ||||
| #include <sstream> | ||||
| #include <ixwebsocket/IXWebSocketServer.h> | ||||
|  | ||||
| int main(int argc, char** argv) | ||||
| { | ||||
|     int port = 8080; | ||||
|     if (argc == 2) | ||||
|     { | ||||
|         std::stringstream ss; | ||||
|         ss << argv[1]; | ||||
|         ss >> port; | ||||
|     } | ||||
|  | ||||
|     ix::WebSocketServer server(port); | ||||
|     auto res = server.run(); | ||||
|     if (!res.first) | ||||
|     { | ||||
|         std::cerr << res.second << std::endl; | ||||
|     } | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user