Microsoft MVP성태의 닷넷 이야기
pipe 비동기방식 질문 [링크 복사], [링크+제목 복사],
조회: 13214
글쓴 사람
윤현수 (gsutnflek at naver.com)
홈페이지
첨부 파일

안녕하세요.
오랜만에 질문드립니다.

unity에서의 Oracle연결이 안되어(정확히는 빌드) .Net과의 인터페이스로 방향을 바꿧습니다.
(.Net에서 unity프로그램 실행 후 인터페이스 시작)

테스트중 다음과 같은 문제가 발생했습니다.

1. 서버와 클라이언트간 연결 후 데이터 송수신중 서버가 read - timeout 후 클라이언트에서 write하면 서버에서 read가 안되는 상황(계속 read - timeout발생)

https://www.sysnet.pe.kr/2/0/1751
위 링크의 방식대로 하면 Unity에서 에러나서 Stream으로 쓰게되었습니다.
(서버 Open -> Close -> 재Open시 에러)

테스트 조건은
 - 서버와 클라이언트 연결 유지
 - 필요할 때마다 인터페이스(양뱡향)

위 링크의 소스파일(클라이언트)에서 연결은 유지한 상태로 계속 양방향으로 주고 받다가 클라이언트에서 디버깅건 후
서버에서 read - timeout발생하니 위와 같은 문제가 발생합니다.

P.S
unity에서는 프로그램 종료시 스레드가 자동 종료가 안되어서 Thread가 자동으로 종료되게끔 해야됩니다.(while문 있는데 여기를 자동으로 빠져나가도록)

unity - server
.Net - Client








[최초 등록일: ]
[최종 수정일: 4/7/2020]


비밀번호

댓글 작성자
 



2020-04-07 12시29분
일단, 올려 주신 코드로는 제가 직관적으로 문제를 알 수 없습니다. 그리고, "비동기"라는 단어가 주는 끌림을 잠시 접어 두시고 본인이 잘 제어할 수 없다면 그냥 동기 방식으로 프로그램하시는 것이 더 좋습니다. 아마도 로컬 내에서의 프로그램인 것 같은데 통신 속도가 매우 빠를 것이므로 굳이 비동기로 할 이유가 없어 보입니다.
정성태

NoWriterDateCnt.TitleFile(s)