Member 9550975 Ответов: 1

Как я могу решить проблемы с сокетами на разных ОС? XP и windows 10


У меня есть клиентская программа, которая работает как заклинание с компьютера XP на другой компьютер XP. Когда я использую ту же процедуру в системе Windows 10, я получаю необработанное исключение, говорящее: "попытка подключения не удалась, потому что подключенная сторона не ответила вовремя.

Система Импорта.Нет.Розетки
Система Импорта.Текст
Класс TCPCli
Общая Суб Основной()

Dim tcpClient как новая система.Net.Sockets.объект TcpClient()
объект TcpClient.Connect("127.0.0.1", 8000) <-- - это оскорбительная строка
Дим объекте networkstream как объекте networkstream = объект TcpClient.Метод getstream()
Если networkStream.CanWrite и networkStream.Тогда Можно Читать
- Сделай простую запись.
Dim sendBytes As [Byte]() = кодировка.ASCII.GetBytes("есть ли там кто-нибудь")
сетевой поток.Write(sendBytes, 0, sendBytes.Длина)
- Считайте сетевой поток в байтовый буфер.
Dim байты(tcpClient.ReceiveBufferSize) В Виде Байта
networkStream.Read(байты, 0, CInt(tcpClient.ReceiveBufferSize))
- Выведите данные, полученные от хоста, на консоль.
Dim returndata As String = кодировка.ASCII.GetString(байты)
Приставка.WriteLine(("Host returned:" + returndata))
Еще
Если не networkStream.Тогда Можно Читать
Приставка.WriteLine("невозможно не записать данные в этот поток")
объект TcpClient.Закрывать()
Еще
Если не networkStream.Тогда Можно Переписать
Приставка.WriteLine("не удается прочитать данные из этого потока")
объект TcpClient.Закрывать()
Конец, Если
Конец, Если
Конец, Если
'пауза, чтобы пользователь мог просмотреть вывод консоли
Приставка.Линия чтения()
Конец Подводной Лодки

Что я уже пробовал:

Я устал от нескольких различных сетевых конфигураций. Без успеха. Неужели новые системы bluetooth не работают со старыми? Может ли это кончиться, приди. Компьютер, который я хочу собрать, имеет довольно длинную программу, которая взаимодействует с моей железной дорогой.

1 Ответов

Рейтинг:
1

Jochen Arndt

tcpClient.Connect("127.0.0.1", 8000) 
Это будет пытаться подключиться к localhost, а не к другой системе. Таким образом, вы получите сообщение об ошибке seen, когда серверное приложение не работает в вашей системе.