websocket-shootout
A comparison of websocket servers in multiple languages and frameworks
파일 탐색기
최종 버전 다운로드 (.zip)- .gitignore
- main.clj
- server.clj
- .gitignore
- boot.properties
- build.boot
- README.md
- .gitignore
- main.cpp
- Makefile
- README.md
- .gitignore
- server.cpp
- shared_mutex.hpp
- crow
- Makefile
- README.md
- .gitignore
- binary_server.cpp
- binary_server.h
- main.cpp
- server.cpp
- server.h
- uWebSockets
- Makefile
- README.md
- rapidjson
- cpp-websocket-server.sln
- cpp-websocket-server.vcxproj
- cpp-websocket-server.vcxproj.filters
- binary_server.cpp
- binary_server.h
- json_server.cpp
- json_server.h
- main.cpp
- json-forwards.h
- json.h
- jsoncpp.cpp
- .gitignore
- Makefile
- README.md
- config.exs
- dev.exs
- prod.exs
- test.exs
- endpoint.ex
- repo.ex
- phoenix_socket.ex
- errors.po
- errors.pot
- seeds.exs
- app.css
- phoenix.png
- app.js
- phoenix.js
- favicon.ico
- robots.txt
- page_controller_test.exs
- channel_case.ex
- conn_case.ex
- model_case.ex
- error_view_test.exs
- layout_view_test.exs
- page_view_test.exs
- test_helper.exs
- room_channel.ex
- user_socket.ex
- page_controller.ex
- app.html.eex
- index.html.eex
- error_helpers.ex
- error_view.ex
- layout_view.ex
- page_view.ex
- gettext.ex
- router.ex
- web.ex
- .gitignore
- mix.exs
- mix.lock
- README.md
- config.exs
- router.ex
- socket_handler.ex
- plug_socket.ex
- plug_socket_test.exs
- test_helper.exs
- .gitignore
- mix.exs
- mix.lock
- README.md
- app.config
- log.hrl
- priv.hrl
- test.config
- ws_shootout.app.src
- ws_shootout.erl
- ws_shootout_app.erl
- ws_shootout_server.erl
- ws_shootout_sup.erl
- .gitignore
- Changelog.md
- LICENSE
- Readme.md
- rebar.config
- rebar.lock
- rebar3
- .gitignore
- .gitignore
- websocket
- cobra
- pflag
- net
- handler.go
- main.go
- binary_handler.go
- json_handler.go
- main.go
- action_cable_server_adapter.go
- benchmark.go
- binary_server_adapter.go
- client.go
- conversion.go
- local_client.go
- phoenix_server_adapter.go
- remote_client.go
- result_recorder.go
- standard_server_adapter.go
- stat.go
- worker.go
- main.go
- README.md
- .gitignore
- Main.hs
- MainNoChan.hs
- README.md
- Setup.hs
- stack.yaml
- ws-server.cabal
- gradle-wrapper.jar
- gradle-wrapper.properties
- WebSocketServer.java
- WebSocketServerHandler.java
- WebSocketServerInitializer.java
- build.gradle
- LICENSE.txt
- NOTICE.txt
- README.md
- WebSocketServer.java
- build.gradle
- LICENSE.txt
- README.md
- .gitignore
- gradlew
- gradlew.bat
- settings.gradle
- index.js
- index.js
- index.js
- package.json
- README.md
- run-cluster.js
- round-01.md
- round-02-binary.md
- round-02-extras.md
- round-02.md
- manifest.js
- .keep
- .keep
- application.js
- cable.js
- ws_debugger.js
- application.css
- ws_debugger.scss
- channel.rb
- connection.rb
- benchmark_channel.rb
- .keep
- application_controller.rb
- ws_debugger_controller.rb
- application_helper.rb
- ws_debugger_helper.rb
- application_job.rb
- .keep
- application.html.erb
- show.html.erb
- bundle
- rails
- rake
- setup
- spring
- update
- development.rb
- production.rb
- test.rb
- application_controller_renderer.rb
- assets.rb
- backtrace_silencers.rb
- cookies_serializer.rb
- filter_parameter_logging.rb
- inflections.rb
- mime_types.rb
- new_framework_defaults.rb
- session_store.rb
- wrap_parameters.rb
- en.yml
- application.rb
- boot.rb
- cable.yml
- environment.rb
- puma.rb
- routes.rb
- secrets.yml
- spring.rb
- seeds.rb
- .keep
- .keep
- .keep
- 404.html
- 422.html
- 500.html
- apple-touch-icon-precomposed.png
- apple-touch-icon.png
- favicon.ico
- robots.txt
- .keep
- .keep
- .keep
- .gitignore
- config.ru
- Gemfile
- Gemfile.lock
- Rakefile
- README.md
- Gemfile
- Gemfile.lock
- server.rb
- config.ru
- crash.out
- Gemfile
- Gemfile.lock
- server.rb
- config.ru
- Gemfile
- Gemfile.lock
- main.rs
- mioco_ws.rs
- scopedpool_ws.rs
- single_threaded_ws.rs
- threadpool_ws.rs
- .gitignore
- Cargo.lock
- Cargo.toml
- .gitignore
- .gitmodules
- LICENSE
- Makefile
- README.md
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/hashrocket/websocket-shootout
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd websocket-shootout
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. .NET
보통 추천
⚠️ 이 프로젝트는 규모가 큰 저장소라, 이 방법이 실제 핵심 제품이 아니라 내부 하위 패키지를 가리키는 것일 수 있습니다. README 전체를 함께 확인해보세요.
cd cpp/websocketpp/msvc/cpp-websocket-server
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
dotnet restore
프로젝트에 필요한 패키지를 내려받습니다.
dotnet run
프로젝트를 빌드하고 바로 실행합니다.
dotnet run 실행 후 터미널에 나타나는 안내 메시지나 주소를 확인하세요.
3. Gradle (Java/Kotlin)
보통사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- JDK (Java) Java/Kotlin 프로젝트를 빌드/실행하려면 필요합니다.
- Gradle 레포에 포함된 gradlew(Gradle Wrapper)를 쓰면 Gradle을 따로 설치할 필요가 없습니다.
cd java
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
./gradlew build
Gradle로 빌드를 진행합니다.
BUILD SUCCESSFUL 메시지가 뜨면 성공입니다. build/ 폴더에 결과물이 생성됩니다.
4. Node.js
쉬움사전 준비물
cd js
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
npm install
package.json에 명시된 라이브러리들을 내려받아 설치합니다.
npm start
개발/실행 서버를 켭니다.
명령어 실행 후 터미널에 나타나는 주소(보통 http://localhost:3000 형태)를 브라우저에서 열어보세요.
5. Rust
보통사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Rust (rustup) rustup으로 설치하면 cargo도 함께 설치됩니다.
cd rust
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
cargo build --release
Rust 프로젝트를 컴파일합니다.
cargo run
빌드 후 바로 실행까지 진행합니다.
cargo build가 에러 없이 끝나면 성공입니다. target/ 폴더에 실행 파일이 생성됩니다.
6. Ruby
쉬움
⚠️ 이 프로젝트는 규모가 큰 저장소라, 이 방법이 실제 핵심 제품이 아니라 내부 하위 패키지를 가리키는 것일 수 있습니다. README 전체를 함께 확인해보세요.
cd ruby/action-cable-server
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
bundle install
Gemfile에 명시된 루비 라이브러리를 설치합니다.
bundle install이 에러 없이 끝나면 README에 안내된 실행 명령어(예: rails server)로 마저 실행해보세요.
7. Make
보통사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Make Linux/macOS는 보통 기본 설치되어 있습니다. Windows는 별도 설치(예: MSYS2, WSL)가 필요합니다.
make
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
에러 없이 끝나면 성공입니다. 생성된 실행 파일을 직접 실행해보세요.
// repository documentation
Was this content helpful?
(0 ratings)
