2011-05-02 3 views
0

누구나 메시지 만 수신하는 미니 프로그램을 만드는 방법에 대한 팁이나 가이드를 제공 할 수 있습니까?C# 스트림 리더를 사용하여 수신

내가받을 수 있지만 코드를 할 수있는 내가 메시지를 보내고있다 (내가 답장 기대하고 있습니다)

을하지만 어떻게 프로그램에 대한 바로 기다리고 경우에만? 내가 말했듯이

client.Connect("192.168.1.100",80); 
Stream s = client.GetStream(); 
StreamReader sr = new StreamReader(s); 
StreamWriter sw = new StreamWriter(s); 
String r = ""; 
sw.AutoFlush = true; 

while(true) 
{ 
    r = sr.ReadLine(); 
    Console.WriteLine(r); 
    Debug.WriteLine(r); 
    if (sr.Peek() < 0) break; 
} 

이 유일한 일 :

나는 수신에이 코드를 얻었다. 내가 먼저 메시지를 보내는 중이라면 대답이 있습니다.

+0

Windows 서비스가 필요하십니까? 백그라운드에서 실행할 Windows 서비스를 만들 수 있으므로 매 초마다 메시지를 연결하고 확인할 수 있습니다. –

+0

귀하의 질문을 이해할 수 있는지 잘 모르겠습니다. 내가 너를 올바르게 이해했다면 : 포트 80에서 전화를받는 192.168.1.100의 프로그램이 당신에게 아무 것도 보내지 않는다면 아무것도 읽을 수 없을 것이다. (웹 서버라고 가정하면 보내야 할 것이다. 먼저 뭔가). 따라서 프로그램이 주기적으로 데이터를 받기를 원한다면, 당신에게 물건을 보내는 서버가 필요합니다. – LueTm

답변

1

TcpClient와 함께 TcpListener 개체를 사용하는 것이 좋습니다. This link의 좋은 예가 있습니다 :

0

TcpListener 클래스로 구현 된 서버 소켓을 사용할 수 있지만 컴퓨터가 로컬 네트워크에있을 때 연결에 문제가 있습니다. 3 개의 프로그램을 작성해야한다고 생각합니다. 첫 번째는 serwer에게 메시지를 보내고, 두 번째 서버는 인터넷에서 항상 사용할 수있는 장소에 놓이게됩니다.이 서버는 대기열에 넣는 메시지를 담당하고 세 번째 서버는 질문을합니다.