2012-05-27 2 views
-1

QTcpSocket 라이브러리에 문제가 있습니다.QTcpSocket의 상태

동일한 소켓 연결을 사용하여 동일한 클라이언트와 통신하는 두 개의 프로그램을 만들었습니다. 불행히도, 이런 방식으로, 프로그램이 동시에 쓰는 경우, 클라이언트는 소켓 (일반적으로 첫 번째 문자열) 하나만을 읽습니다.

그래서 두 번째 문자열을 지연시키기 위해 소켓이 사용 중인지 아닌지 알 수있는 특정 함수가 있는지 알아야합니다. 사전에

감사합니다.

+3

설명하는 것이 의미가 없습니다. 송수신 코드의 관련 부분을 보여주십시오. – Mat

+0

* "동일한 소켓 연결을 사용하여 동일한 클라이언트와 통신하는 두 개의 프로그램을 만들었습니다."* 불가능합니다. 생산적인 답변을 얻으려면 몇 가지 코드로 질문을 명확히하십시오. – leemes

답변

1

동일한 소켓을 사용하는 클라이언트를 2 개 가질 수 없습니다. 서버는 QTcpServer으로 작동해야하고 클라이언트 (클라이언트)로부터 새로운 연결을받을 때마다 새로 QTcpSocket (분명히 지금은 모든 서버 측)이 생성됩니다. 그리고 클라이언트는 QTcpSocket을 사용하여 서버에 연결합니다.