소개
게시글
질문&답변
2020.12.17
두번째 출력부터 이름이 제대로 나오지 않습니다
앗... 첫 번째 string에 오프셋을 빠뜨렸네요. 그래서 playerName은 같은 곳에 계속 저장되니까 첫 번째 출력만 나왔고... Read() 부분 문제인 줄 알고 한참 헤맸습니다 ㅠㅠ 감사합니다!
- 0
- 5
- 386
질문&답변
2020.12.17
두번째 출력부터 이름이 제대로 나오지 않습니다
넵 방금 메일 보냈습니다!
- 0
- 5
- 386
질문&답변
2020.12.17
두번째 출력부터 이름이 제대로 나오지 않습니다
엇... 코드 빼고 본문 내용이 다 잘렸네요 ㅠ 간단하게 다시 적겠습니다 Serialization #3 강의에서 string을 직렬화하는 두 가지 방식이 나옵니다. 인코딩한 string을 Array.Copy로 복사하는 방법과, Encoding.Unicode.GetBytes에 오버로딩된 함수를 이용하여 인코딩 결과를 지정한 메모리 주소에 직접 입력하는 방식입니다. 두 방법을 다 실습해보고 싶어서 패킷 클래스에 playerName, nickName 두 가지 문자열 변수를 선언했습니다. 패킷을 보낼 때 값은 "이름", "닉네임" 으로 초기화했어요. 서버에서 Read()를 통해 읽은 후 Console.WriteLine($"Player Info Required : {packet.playerId} / {packet.nickName} ({packet.playerName})"); 을 통해서 실행했더니, (사진) 위와 같이 두 번째 출력부터 playerName 문자열의 문자가 모두 NULL 문자(\0) 으로 나옵니다. break point를 찍어보니 개수는 동일한데 \0\0\0... 이런 식으로 공백 문자로만 나오는데, 0으로 가득 찬 비트 배열을 읽고 있는 것 같습니다. 따로 예외 처리는 되지 않고요. 혹시 원인을 알려주실 수 있으신가요? 아무리 고민해봐도 모르겠어서 여쭤봅니다 ㅠㅠ 첫번째엔 왜 출력되는지도 모르겠습니다...
- 0
- 5
- 386
질문&답변
2020.11.10
ReaderWriterLock 강의 질문입니다
아 그동안 전역 변수 _num에 한 스레드는 1을 더하고 한 스레드는 1을 빼는 것처럼 데이터를 쓸 때만 락을 걸면 되는거군요. 읽을 때는 여러 스레드가 접근해도 같은 내용을 읽어갈테니... 답변 감사합니다!
- 1
- 3
- 308
질문&답변
2020.08.11
미니RPG 에셋 임포트 관련 문의
감사합니다 :)
- 0
- 2
- 214