2012-04-23 3 views
0

피어 투 피어 채팅 프로그램에서 작업하고 있지만 클라이언트와 서버를 동시에 실행하면서 문제가 발생했습니다. 전용 서버가 연결을 관리하는 것을 원하지 않습니다. 솔루션은 비동기 직접 연결일지도 모르겠지만 확실하지는 않습니다.C# 채팅 - TCP P2P

두 호스트간에 프로그램을 실행할 수있게하려면 프로그램이 시작되고 텍스트 상자에 지정된 IP 주소에 연결을 시도하기 시작합니다. 동시에 localhost IP 주소에서 들어오는 연결을 수신하기 시작합니다.

*** 나는 때문에 뭔가 메시지가 수 없습니다 손상 오프 기회에, TCP를 사용하고 (이것은 암호화) 읽을 수

문제 : 1) 그것은 생각할 수있다 클라이언트가 될 수있다 다른 프로그램이 연결을 시도하기 전에 일정 기간 동안 대기합니다. 그렇다면 어떤 형태의 루프를 사용해야합니까? 그렇다면 어떻게?

2) 나는 서버 파트를위한 하나의 스레드와 클라이언트 파트를위한 하나의 스레드와 함께 다중 스레딩을 사용해야한다고 가정 하긴하지만, 문제는 이들을 교수형에서 지키고있다. 두 프로그램이 동일하기 때문에 다른 호스트에 연결하고 동시에 청취 할 수있는 방법이 필요합니다.

3) 내 서버가 연결을 수신 대기하는 데 문제가 있으며 컴퓨터에서 IP 주소를 자동으로 가져 오는 방법을 모릅니다.

도움 주셔서 감사합니다.

편집 : 이것은 LAN에만 있습니다.

+0

적어도 읽었습니까? http://www.geekpedia.com/tutorial239_Csharp-Chat-Part-1--- Building-the-Chat-Client.html – walther

답변