inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Từ giới thiệu về lập trình socket Windows đến các máy chủ hiệu suất cao!

Ứng dụng trò chuyện đa luồng (có ví dụ)

멀티스레드 기반 서버 관련 질문..!

Đã giải quyết

412

kbs93472809

13 câu hỏi đã được viết

0

  안녕하세요 널널한 개발자님, 덕분에 수업 잘 듣고 있습니다. :)

현재 멀티스레드 채팅 클라이언트, 서버 기반 수업을 듣고 해당 구조를 변경해서 작은 빙고 게임을 만들어 보고 있습니다.

 

해당 게임의 큰 틀을 짧게 요약하자면

  1. 클라 - 연결 요청 -> 서버 - 확인 후 번호 전달

  2. 3번째 클라 - 연결 요청 -> 서버 - 확인 후 모든 클라에게 보드판 및 게임 순서를 전달

  3. 클라 - 게임 순서에 맞는 클라가 빙고판 번호를 입력 -> 서버 - 확인 후 보드판 정보 업데이트 및 다시 모든 클라에게 전달 ....

     

이런 식으로 게임이 진행됩니다, 2번 동작까지는 잘 진행이 되는데 '문제' 3번 순서에서 클라가 빙고판 번호를 입력했을 때 서버로 전달이 되지 않아 보드판 정보 업데이트가 되지 않고 있습니다..

클라에서 서버로 메시지를 전달할 때 버퍼의 내용은 문제가 없었는데, 이상하게 서버로 전달만 하면 빈 버퍼가 전달이 되네요..

혹시나 서버 버퍼에서 소켓 입출력 버퍼가 Nagle 알고리즘에 의해 서버 프로세스로 전달이 되지 않은 건가 싶어서 소켓의 TCP_NODELAY 옵션도 설정해보았는데, 해결이 되지 않았습니다. whireShark를 이용해서 확인을 하고 있긴 한데, 아직 제 수준에서는 내용을 파악하기 힘드네요..

 

널널한 개발자님이라면 이런 상황에서 어떻게 문제를 해결하실 건가요??

 

socket.io udp iocp tcpip

Câu trả lời 2

1

nullnull8537

스스로 답을 찾으셨군요. 다행입니다. 😄

내용을 봤을 때 사소한 실수가 있었지 않았을까 생각하긴 했었습니다. 네트워크 프로그래밍 시 발생하는 문제는 클라이언트/서버 양쪽을 모두 확인해야 합니다. 잘못 보내는 문제 일 수 있고 반대로 잘 받지 못하는 문제일 수도 있기 때문입니다. 이 경험을 잘 살려두시면 좋을 것 같네요.

0

kbs93472809

이유 찾았네요 send할 때 사이즈를 strlen()으로 잘라서 빙고 숫자 데이터가 전달되지 않았었네요. sizeof()로 크게 잘라내서 보내니깐 데이터가 잘 전달됩니당

recv, send 리턴값 질문

0

78

2

스타,워크와 같은 디스창 (Disconnected)도 비정상 종료에 대응하는 시스템으로 봐야할까요?

0

96

2

수업과 관련해서 읽어볼 만한 책 있나요?

0

112

1

서버가 끊어버리는것에 대한 질문

0

122

2

TCP 의도적 장애 테스트 질문

0

159

2

shutdown()을 호출하는 이유

0

165

1

프로토콜이 적용된 파일 송신 서버에서 send, recv 질문 있습니다!

0

153

2

"파일 송신 서버 제작" 강의 질문입니다!

0

152

2

대표적인 장애 유현 2

0

131

2

대표적인 TCP 장애 유현

0

161

2

이벤트 기반 파일 입출력과 callback 기반 파일 입출력이 네트워크에도 쓰이는 기법인가요?

0

121

2

개발환경 질문이 있습니다.

0

137

1

TCP/IP vs UDP , 멀티 스레드에서의 병목 현상에 대한 질문이 있습니다!

0

221

2

메모리 관련 문제로 질문드립니다.

0

187

2

테스트 환경 질문드립니다!

0

168

2

ThreadAcceptLoop 의 우아한(?) 종료에 대해 질문드립니다.

0

419

2

하트비트 시 서버에서의 연결 종료

0

451

2

강사님 질문 드립니다.

0

249

1

소켓 입/출력 설계 정리

0

450

1

빅 엔디언과 리틀 엔디언

0

379

2

TIME_WAIT 관련 문의드립니다.

0

226

1

강사님 강의자료 인쇄용으로 부탁드립니다.

0

288

1

bind 함수 관련 궁금증

0

357

2

스마트포인터 사용여부 및 가능성

0

260

2