=================================
=================================
=================================
서버 패킷이 계속 십히네요 ㅜㅜ
//문제점내용-------------------------------------------------------
여기서 클라이언트에서 캐릭터를 움직입니다.
그러면 이동 패킷이 가는데요..
게임내에서 검은화면에 받은 패킷을 다 표시합니다.
그러면 32좌표 단위로 제대로 오는데
다른 클라이언트(패킷 확인용)에서는 64단위가 있지않나.. 사이사이가 빠졌네요. 십히는거 같습니다
반대로 보내보아도 저러구요.
TCP로 보내고 받는데 왜저럴까요..
소스 일부 첨부할게요
*서버부분
받으면 모든클라이언트한테 내용을 뿌려줍니다
void OnRead( HWND hEdit, SOCKET sock, SOCKET *sockArray, int index, HWND hWnd )
{
int i;
char Msg[1024];
if( SOCKET_ERROR != recv( sock, Msg, 1024, 0 ) )
{
for( i = 0; i < index; i++ ){
if( SOCKET_ERROR == send( sockArray[i], Msg, strlen( Msg ) + 1, 0 ) )
{
wsprintf( Msg, "ERROR send with %d", WSAGetLastError() );
MessageBox( g_hChatDlg, Msg, "DEBUG", MB_OK );
}
else
{
SendMsgToEdit( hEdit, Msg );
}
}
}
}
받고 뿌리는 부분
case FD_READ:
// 모든 클라이언트에게 메시지를 전송한다
OnRead( g_hEdit, (SOCKET)wParam, g_clntSock, g_index, g_hEdit );
break;
*클라이언트 부분
case FD_READ:
if( SOCKET_ERROR == recv( g_Sock, Msg, 128, 0 ) )
SendMsgToEdit( g_hEdit, "[알림] 네트웍 장애로 메시지를 받지 못했습니다" );
else
{
SendMsgToEdit( g_hEdit, Msg );
}
break;
이렇습니다. 도움 부탁드립니다.
ps. 제가 공유기를 사용합니다.
공유기 아이피나 로컬아이피로하면 씹히는거 없이 잘 왔다갔다합니다.
하지만 dmz 설정하고 유동아이피로 해보니 이러네요..
공유기 탓일수도 있나요?
추가로 서버에서는 패킷을 다 받습니다. 보내는 부분에서 분명 클라이언트 개수만큼 보내는데 왜 이러죠;
//문제점내용 끝-----------------------------------------------
//답변-----------------------------------------------------
대리 |
2011.01.15 17:47 |
일단 기본적으로 데이터가 뭉쳐서 오거나 나뉘어서 오는 부분에 대한 처리가 안되어 있군요.
그거 처리하시면 될듯.
덧글 6 개 | | | 등록순 |
신고 |
-
부활 - 답글|신고
-
maru0911il - 신고
-
부활 - 답글|신고
-
maru0911il
코드상으로 볼때 문자열을 주고 받는 방식으로 되어 있군요. 문자열은 맨 끝이 0일 경우 문자열의 끝으로 인식합니다. 실제로 받은 데이터 양을 확인해 보세요 - 신고
-
크로스
윈도우즈 네트워크 프로그래밍에서는 되도록 TCAHR로 쓰도록 권장되고 있습니다...
거의 필수라고 보셔도 될듯..;;
CHAR형은 참 묘한 놈이라 A B C 00 이렇게 되면 ABC 하고 끝나지만
TChAR 형은 A 00 B 00 C 00 00 00 이런식으로 되어있지요.. (사이사이에 00이 더 있음) 유니코드입니다. - 답글|신고
-
케이케이
union써서 패킷 전부 공유.. - [출처] 서버 패킷이 계속 십히네요 ㅜㅜ (게임 개발자 네트워크 (jzsdn)) |작성자 maru0911il
- 답글|신고
=================================
=================================
=================================
'프로그래밍 관련 > 게임프로그래밍' 카테고리의 다른 글
게임 GUI 멀티 해상도 팁 (0) | 2020.09.16 |
---|---|
게임 GUI 구현에 대한 조언 (0) | 2020.09.16 |
매니지드 언어(Java, C# 등등) 로 MMORPG 만들기 어떤가요? (0) | 2020.09.13 |
[서버] 자바로된 PC 온라인 게임 서버 제작 가이드 (0) | 2020.09.13 |
리눅스에서 게임서버 만든다면 ... 어떤 언어 사용 하시나요??? 관련 (0) | 2020.09.13 |