2012-01-16 2 views
1

** У меня нет большого опыта работы с сокетами и сетью разработки - так им жаль, если этот вопрос не очень хорошо ...подключения к порту, используя TcpListener класс

У меня есть оборудование, подключенный к компьютеру (я вижу это оборудование как сетевую карту). Это аппаратное обеспечение отправляет некоторые строки с использованием протокола TCP (отправка всегда на порт 551).

Новое, мне нужно получить эту строку в моем приложении. Поэтому я хочу, чтобы использовать объект «» TcpListener слушать протокол LOCALHOST - слушать порт 551.

В MSDN я вижу, что я могу инициализировать объект «» TcpListener так будет слушать всегда порт 551 (первый конструктор).

Но аппаратное обеспечение также подключается к порту 551 - потому что его нужно будет отправить строки -

Так как я могу это сделать? Каково мое основное недоразумение?

+1

ли устройство принимать входящие соединения на порт 551 или подключаются только к другим, использующим этот порт? Если он просто подключается к другим, он фактически не использует этот порт. Это похоже на то, что ваш веб-браузер подключается к некоторому серверу на порту 80, браузер не использует порт 80, сервер делает это. –

+0

Устройство рассматривается как сетевая карта - и определяется с некоторым IP-адресом (192.168.0.1). Итак, у меня теперь есть две сетевые карты на моем компьютере (вторая - обычная сетевая карта, которую я использую для подключения к Интернету) - – Yanshof

+1

Если это действует как сетевая карта с определенным IP-адресом, то вы можете создать прослушивание (например, используя класс 'TcpListener'), привязанный к этому конкретному ip-адресу. –

ответ

1

Во-первых, убедитесь, что у меня есть настройки правильно:

Так у вас есть некоторые аппаратные отправки его на порт 551, скажем, на IP-адрес 192.168.1.1. Вы добавили вторую карту, например, с IP-адресом 192.168.1.2.

Для того, чтобы слушать то, что 192.168.1.1 посылает вам нужно:

1) Убедитесь, что 192.168.1.1 отправляет свои TCP пакеты на порт 551 на 192.168.1.2.

2) Открыть TcpListener, связывание слушателя 192.168.1.2:

IPAddress localAddr = IPAddress.Parse("192.168.1.2"); 
TcpListener server = new TcpListener(localAddr , 551); 

3) Сидеть и ждать, пока сервер не находит что-то приходит в этот порт:

server.Start(); 
... 
server.AcceptTcpClient();