Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 언리얼 AI
- 제네릭
- ssh pem
- 우분투 mysql
- ftp 외부접속
- 아마존 mysql
- 연결
- mysql 외부접속
- 소켓통신
- 원격
- 스프레드시트
- AWS EC2 ssh
- 리눅스 mysql
- spreadsheet
- 유니티
- generic
- 언리얼 엔진4
- AWS EC2
- error 1045
- NetworkStream
- 유니티 소켓통신
- 코루틴
- Read 함수 뻗음
- read
- error 2002
- AWS EC2 ftp
- workbench 외부접속
- unity
- 구글시트
- coroutine
Archives
- Today
- Total
목록소켓통신 (1)
공부한거 잊었을 때 보려고 만든 블로그

NetworkStream.Read() 함수는 지정한 byte를 다 읽을 때까지 코드가 blocking된다. 그래서 보통while(true) 안에서 Read() 하며, blocking이 되기 때문에 무한루프에 빠지는 경우가 잘 없다. 가끔 읽지 말아야할 때가 있어서 조건문으로 Read 함수를 감싸는 경우 if문을 건너뛰면 Read의 Blocking이 사라져 무한루프가 되면서 프로그램이 뻗을 수 있다. 나는 Unity 환경에서 돌리고 있어서 while 대신 Update문에서 if 조건을 걸고 Read하는 상태로 바꿨다. 두번째로 주의할 점은 원인이 이게 맞는지 모르겠는데, 문자열 길이를 먼저받고 그 길이만큼 문자열을 받는 코드에서 서버와 클라이언트 간 통신할 때 패킷이 손실되면 문자열의 길이가 이상하게 들어..
서버 프로그래밍
2023. 3. 28. 17:41