전체 글
-
20250605 개발 일지. 온디바이스 AI 게시글 읽기.개발일지/C# 채팅 프로그램 2025. 6. 20. 13:38
# 온디바이스 AI를 통해 비속어 필터링 적용 예정 https://huggingface.co/beomi/KcELECTRA-baseFastText https://museonghwang.github.io/nlp(natural%20language%20processing)/2023/02/10/nlp-kor-fasttext/https://oak.chosun.ac.kr/bitstream/2020.oak/16586/2/%EB%8B%A8%EC%96%B4%20%EC%9E%84%EB%B2%A0%EB%94%A9%EA%B3%BC%20LSTM%EC%9D%84%20%ED%99%9C%EC%9A%A9%ED%95%9C%20%EB%B9%84%EC%86%8D%EC%96%B4%20%ED%8C%90%EB%B3%84%20%EB%B0%A9%EB..
-
20250604 개발 일지. 부하 테스트 진행.개발일지/C# 채팅 프로그램 2025. 6. 19. 14:12
점심쯤 옴# rtt 측정 작업 진행 패킷 하나 보내 하나 받아 측정하는 경우 0ms 걸림 패킷에 타임스탬프를 추가 # protobuf 날짜형식 사용법proto 파일에 날짜 형식 데이터 추가하려면 프로토버프 다운로드 시 같이 제공되는 timestamp.proto를 임포트 해야 한다 import "google/protobuf/timestamp.proto"; # Environment.TickCount를 사용한 RTT 측정더 작은 오차를 측정하기 위해 Environment.TickCount 를 사용Environment.TickCount 사용했는데 0ms ~ 15ms 사이 시간이 걸린 경우는 측정 못하는 듯https://stackoverflow.com/questions/243351/environment-tick..
-
20250603 개발일지. 소켓 서버 성능 테스트 진행.개발일지/C# 채팅 프로그램 2025. 6. 19. 13:59
대선. 점심쯤 옴 # 할일서버 응답 속도 및 샌드버퍼 메모리 사용 개선 진행 예정 초당 처리 가능한 메시지 수 처리 지연 시간 평균/최대 응답 시간 확인 GC부하 GC 세대별 수집 횟수와 메모리 할당량 추적 # 성능 테스트 접근 사례 https://velog.io/@leehyeonmin34/dambae200-tuning-through-performance-test# 성능 테스트 진행더미 클라이언트 100개, 메세지 전송 주기 100ms, 소켓 연결 완료 후 30초 진행 결과TestSession_n 은 하나의 테스트용 클라이언트이고 Total Packet Count는 해당 클라이언트가 받은 패킷 수(20250619) 걸린 시간을 측정하기 위해 Environment.TickCount를 사용했으나 해당 속성..
-
20250602 개발 일지. 패킷 제너레이터 만들기.개발일지/C# 채팅 프로그램 2025. 6. 19. 13:43
점심쯤 옴 패킷제너레이터(PacketGenerator) 만들기# string vs stringbuilder string은 불변타입이라 문자열 수정 시 새로운 객체를 생성하고 이전 객체는 버려져 GC를 사용하게 됨 stringbuilder는 list처럼 어느정도 넉넉하게 공간을 할당하고 할당된 공간을 넘어가게되면 새로운 공간을 추가 할당 후 링크를 구성함 https://husk321.tistory.com/357# 오늘 작업패킷 아이디를 문자열 수정하여 코드 생성에 반영하는 작업 진행
-
20250530 개발 일지. 프로토버프 적용.개발일지/C# 채팅 프로그램 2025. 6. 18. 11:55
점심쯤 옴# 프로토버프 https://usingsystem.tistory.com/152# 파일 링크 https://points.tistory.com/27https://stackoverflow.com/questions/2593612/visual-studio-add-item-add-as-link-rather-than-just-add-> (20250602) 파일 링크로 프로토콜 파일 추가 시 에러 발생하여 링크는 적용안함 # 프로토버프 에러프로토버프 실행 시 에러가 발생했는데 msgid를 정의하는 enum과 message 이름이 같을 경우 발생하는 에러이다 Protocol.proto:7:9: "S_CHAT" is already defined in "Protocol". Protocol.proto:7:9: No..
-
20250529 개발일지. 버그 수정 진행.개발일지/C# 채팅 프로그램 2025. 6. 18. 11:51
점심쯤 옴 # 이벤트 발생 시점 확인샌드 리시브 이벤트 발생 시점. 버퍼보다 큰 패킷, 버퍼보다 큰 모여진 패킷 보냈을 경우 어떻게 되는지 SendAsync 이벤트 -> 유저 버퍼에 있는 데이터를 커널 송신 버퍼에 이동이 완료됬을때(아직 전송이 되진 않음) ReceiveAsync 이벤트 -> 커널 수신 버퍼에서 유저 버퍼로 데이터가 이동했을 때 버퍼보다 큰 모여진 패킷 보냈을 경우 어떻게 되는지 -> 커널 버퍼에서 가지고 있다가 유저 버퍼에 나눠서 이동 # 버그 수정테스트 중 해당 에러가 발생. writePos가 마이너스가 됬는데 언제 무슨이유로 마이너스가 되었는지 모르겠다 System.ArgumentOutOfRangeException: 'Non-negative number required. (Par..
-
20250528 개발일지. 버그 수정 진행.개발일지/C# 채팅 프로그램 2025. 6. 18. 11:46
점심쯤 도착 # 패킷 데이터 확인서버에서 보내는 데이터 24바이트. 사이즈(2) + 패킷아이디(2) + 유저id(4) + 메세지(Test Message)(12) + ? Data: 180000000900000054657374204d65737361676500000000아래와 같이 메세지 뒤에 0이나 1, # 같은 문자가 추가로 붙음. 와이어 샤크로 패킷 데이터 검색해도 안나옴. data contains "Test Message0" [TestSession_25 -> User_0]: Test Message0 [TestSession_13 -> User_0]: Test Message1 [TestSession_14 -> User_0]: Test Message1 -> Encoding.UTF8.GetString 메소..