Page History
공통조건
IIS/PHP/WAS같은 서비스 종속이 있는것은 제외
OS 종속있는 서비스도 제외
StandAlone으로 작동이 가능해야함
WebSocket연동이 수월해야함
실제 프로젝트에 사용해본것
PlayFrameWork
- 주언어:Java/Scala
- Link : https://www.playframework.com/
- Wesocket:Atmosphere
- MVC : 포함됨
- 사용한 사례:상용 게임 로비 API 서비스에서 이것을 이용하여 개발함 PokerGame
Rotes정의 방법
GET /rest/GameInfo GameInfo()
심플한 Get Method 코드 샘플
def GameInfo = Action { Ok( Json.toJson( "할롱") ) }
서비스 실행코드: play run “9000”
Microsoft.Owin.Hosting
주언어:C# , Open소스이지만, Micorosoft의 네임스페이스에 포함된것으로 보아 IIS와는 별개로 MS에서 밀어주는듯
...
사용한 사례: 체스고및 채팅봇 미니 웹게임 등에서 사용함
Rotes정의 방법
Get["/GameInfo/{tid}", runAsync: true] = async (_, token) => .......
심플한 Get Method 코드 샘플
public async Task<Response> GameInfo(int tourId){...}
서비스 실행코드
var host = new NancyHost(new Uri("http://localhost:9000"); //Host 여러가지 선택가능 host.start()
Node.js
주언어:Javascript
Link : https://nodejs.org/ko/
...
사용한 사례 : 롤전적조회등 간단한 개인 웹 프로젝트
Rotes정의 방법
app.use('/', routes);
심플한 Get Method 코드 샘플
router.get('/GameInfo', function(req, res, next) { res.send('respond with a resource'); });
서비스 실행코드
server.listen(80, function () { console.log('Example app listening on port 80!'); });
정리
Node.js의 심플한 웹서버에 심플하게 사용할수 있는 웹소켓모듈이 먼저 인기를 끈탓인지?
...
Actor모델이 Akka에만 있는것은 아니니….. Node.js → Actor.js(존재하는지모르지만 어쨋건 이상적인건 한가지 개발플래폼만 사용하는것)
WebSocket모듈의 설계
이것은 , .net socket을 사용하면서 pub/sub 시스템을 akka의 컨셉을 가져와 구현해본 내용
...
//사용자를 만든다. -사용자 접속시 TopicEventBus.CreateActor("sangman"); TopicEventBus.CreateActor("rapael"); TopicEventBus.CreateActor("pierre"); //뉴스 메시지를 만든다. MsgEnvelope msg1 = new MsgEnvelope("News", "all", "Hello"); MsgEnvelope msg2 = new MsgEnvelope("News", "all", "Hola"); MsgEnvelope msg3 = new MsgEnvelope("News", "all", "안녕하세요"); //각각의 사용자는 보고싶은 언어로 뉴스섹션을 선택한다. 추가 구독도 가능하다. TopicEventBus.Subscribe("sangman", "News", "스포츠", "kr"); TopicEventBus.Subscribe("rapael", "News", "스포츠", "es"); TopicEventBus.Subscribe("pierre", "News", "스포츠", "fr"); //서버에 의해 Push 메시지가 발생한다. TopicEventBus.Publish(msg1, "스포츠", "en"); TopicEventBus.Publish(msg2, "스포츠", "es"); TopicEventBus.Publish(msg3, "스포츠", "kr"); //각각의 사용자에게 , 언어에 맞는 뉴스가 전달되며, 아마 대부분의 //실시간 통신에서 유용한 방법이 됨... WebSocket혹은 Push서버와 연동하면 찰떡궁합이됨유용함