Ask Your Question
0

pong 게임 문의 드립니다.

asked 2019-10-25 12:00:48 +0900

제3막 gravatar image

pong 게임 서버 와 클라이언트 돌리면서 이것저것 테스트를 하고 있는데요..

클라이언트 게스트 로그인 버튼을 눌렀을때 tcp로 보내면 로그인 메시지가 서버에 들어오지 않습니다.

http로 전송을 했을때는 서버에 정상 도달 합니다.

http로 전송 했을때의 로그 입니다 :

1.925159 4126 session_impl.cc:2264] [C->S] HTTP/JSON: type=, length=0, session=00000000-0000-0000-0000-000000000000 I1025 11:31:51.925243 4126 session_service.cc:2841] 새 세션을 생성했습니다: sid=b1cebeaf-7ae0-4051-a9b4-43a2d6a4e31d, protocol=HTTP, encoding=application/json, address=10.0.2.2:58340 I1025 11:31:51.925277 4126 session_impl.cc:2264] [S->C] HTTP/JSON: type=_session_opened, length=76, session=b1cebeaf-7ae0-4051-a9b4-43a2d6a4e31d {} I1025 11:31:51.977948 4125 session_impl.cc:2264] [C->S] HTTP/JSON: type=login, length=102, session=b1cebeaf-7ae0-4051-a9b4-43a2d6a4e31d {"id":"Player_26b56a","type":"guest"} I1025 11:31:51.981521 4177 lobby_event_handlers.cc:174] Registered new user: id=Player_26b56a I1025 11:31:51.981557 4177 lobby_event_handlers.cc:176] Succeed to login: id=Player_26b56a I1025 11:31:51.983582 4126 session_impl.cc:2264] [S->C] HTTP/JSON: type=Login, length=201, session=b1cebeaf-7ae0-4051-a9b4-43a2d6a4e31d {"result":"ok","id":"Player_26b56a","winCount":0,"loseCount":0,"curRecord":0,"singleWinCount":0,"singleLoseCount":0,"singleCurRecord":0}

서버 구동 환경은 개인 피시에 VirtualBox 상에 Ubuntu 18.04로 돌리고 있고,

netstat 로 봤을떄 설정한 tcp포트 http포트 다 LISTEN 하고 있는 상태 입니다.

한가지 더 HTTP로 "Loing"메시지 주고 받았을떄 클라이언트에서 서버 응답 메시지를 받고 그냥 멈춰 버리는 상황이 발생 합니다.

edit retag flag offensive close merge delete

2 answers

Sort by » oldest newest most voted
0

answered 2019-10-25 12:35:08 +0900

제3막 gravatar image

네... Unity 클라이언트와 C++서버로 테스트 하였습니다.

netstat -pant | grep funapi 결과 입니다. ubuntu@ubuntu-VirtualBox:~/source/test_engine-source/src$ netstat -pant | grep funapi (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 0 0.0.0.0:6014 0.0.0.0:* LISTEN 4109/funapi_runner
tcp 0 0 10.0.2.15:6015 0.0.0.0:* LISTEN 4109/funapi_runner
tcp 0 0 0.0.0.0:8012 0.0.0.0:* LISTEN 4109/funapi_runner
tcp 0 0 0.0.0.0:8018 0.0.0.0:* LISTEN 4109/funapi_runner
tcp 0 0 127.0.0.1:55770 127.0.0.1:12820 ESTABLISHED 4109/funapi_runner
tcp 0 0 127.0.0.1:41908 127.0.0.1:2181 ESTABLISHED 4109/funapi_runner
tcp 0 0 127.0.0.1:41906 127.0.0.1:2181 ESTABLISHED 4109/funapi_runner
tcp 0 0 127.0.0.1:41904 127.0.0.1:2181 ESTABLISHED 4109/funapi_runner
tcp 0 0 127.0.0.1:41902 127.0.0.1:2181 ESTABLISHED 4109/funapi_runner

SessionService 설정입니다.

"SessionService": { "tcp_json_port": 8012, "udp_json_port": 0, "http_json_port": 8018, "tcp_protobuf_port": 0, "udp_protobuf_port": 0, "http_protobuf_port": 0, "session_timeout_in_second" : 3600, "use_session_reliability": false, "use_sequence_number_validation": false, "use_encryption": false, "tcp_encryptions": ["ife1", "ife2"], "udp_encryptions": ["ife2"], "http_encryptions": [], "disable_tcp_nagle": false, "enable_http_message_list": true, "session_message_logging_level": 2, "enable_per_message_metering_in_counter": false, "json_protocol_schema_dir": "json_protocols", "ping_sampling_interval_in_second": 0, "ping_message_size_in_byte": 0, "ping_timeout_in_second": 0, "close_transport_when_session_close": true },

참고로 ifun엔진 버전은 1.0.0-4343bionic입니다.

edit flag offensive delete link more

Comments

감사합니다. 설정은 정상인 것 같습니다. 클라이언트 쪽 로그에 세션은 생성이 됐는데, 로그인 메시지를 전송할 수 없는 것으로 파악되시는지요.

jwlee gravatar imagejwlee ( 2019-10-25 12:45:58 +0900 )edit

네.. 클라이언트 쪽 디버깅 걸어서 코드 실행 되는것 확인 했습니다 NetworkManaber.cs 부분 Connect()부분 코드 실행 하는것 확인 했습니다.

MANIFEST 파일 한줄 한줄 보다 보니 "HardwareInfo": { "external_ip_resolvers": "aws,nic:eth0,nat:93.184.216.34:tcp+pbuf=8012:http+json=8018" }, 항목있던데 영향을 주는것 아닌지요? 제 서버 네트웤 식별자는 enp0s3입니다

제3막 gravatar image제3막 ( 2019-10-25 13:36:05 +0900 )edit

그렇다면 변경 해 주시기바랍니다.

jwlee gravatar imagejwlee ( 2019-10-25 13:37:20 +0900 )edit

아 재설정에 문제가 있었습니다. 전에 http 메시지 호출 테스트 하면서 가상 머신 8018번만 포트 포워딩 설정이 되어 있었습니다. 8012번 포트 포워드 설정으로 메시지 오는것 확인 했습니다. 메시지 송수신은 문제 없는데 다운 받은 예제에서 login 응답을 받고 클라이언트가 아무 응답이 없는데 이것은 혹시 어떤 문젠인줄 알수 있을까요?

제3막 gravatar image제3막 ( 2019-10-25 14:44:53 +0900 )edit

퐁 게임 예제는 Tcp 또는 웹소켓 을 사용해야 합니다. 미리 안내드리지 못해 죄송합니다. 로그인 이후 응답이 없는 현상은 Tcp 나 웹소켓을 사용해도 재현되는지요? 그렇다면 서버와 클라이언트 쪽 로그를 모두 공유해주시면 확인해보겠습니다. 감사합니다.

seonyul.park gravatar imageseonyul.park ( 2019-10-25 15:38:34 +0900 )edit
0

answered 2019-10-25 12:26:50 +0900

jwlee gravatar image

안녕하세요. 퐁게임 Unity 클라이언트와 C++ 서버로 테스트하셨는지 확인 부탁드립니다. 그리고, netstat 명령의 결과와 MANIFEST 파일 내용 중 SessionService->tcp_protobuf_port 설정을 올려주시면 감사하겠습니다.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2019-10-25 12:00:48 +0900

Seen: 37 times

Last updated: Oct 25