Я пытаюсь получить вывод из считывателя RFID.Производитель предоставил codenippets, которые позволяют пользователю получать канал через TCP.(https://support.impinj.com/hc/en-us/articles/202755278-Speedway-Connect#samplecode)
Примечание: устройство чтения находится в той же сети Wi-Fi, что и компьютер, на котором я работаю
Мой вопрос: почему хост разрешает подключениеиспользуя Java и отклоняя его при использовании C #?
Мне удалось заставить соединение работать, используя Java, используя следующий код (в котором мне нужно было только вставить имя хоста и порт)
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class SpeedwayConnectClient
{
public static void main(String[] args)
{
// The IP address or hostname of your reader
final String READER_HOSTNAME = "SpeedwayR-10-27-52";
// The TCP port specified in Speedway Connect
final int READER_PORT = 14150;
try
{
// Create a TCP socket connection to the reader
Socket s = new Socket(READER_HOSTNAME, READER_PORT);
// Create a BufferedReader object from the socket connection
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
// Receive data in an infinite loop
while (true)
{
// Read one line at a time
String line = br.readLine();
// Print it to the screen
System.out.println(line);
}
}
catch (Exception e)
{
// An error has occurred
System.out.println(e.getMessage());
}
}
}
Поскольку я не мог заставить работать соединение Firebase с использованием Java (что мне удалось сделать в C #), поэтому я решил переключиться на C #.
Я попытался использовать отсканированный код (один из C # конечно)с того же сайта:
В результате появилось следующее сообщение: «Хост отклонил соединение»
using System;
using System.Net.Sockets;
using System.IO;
namespace SpeedwayConnectClient
{
class Program
{
static void Main(string[] args)
{
// The IP address or hostname of your reader
const string READER_HOSTNAME = "SpeedwayR-10-27-52";
// The TCP port specified in Speedway Connect
const int READER_PORT = 14150;
try
{
// Create a new TCPClient
TcpClient client = new TcpClient();
// Connect to the reader
client.Connect(READER_HOSTNAME, READER_PORT);
// Get a reference to the NetworkStream
NetworkStream stream = client.GetStream();
// Create a new StreamReader from the NetworkStream
StreamReader streamReader = new StreamReader(stream);
// Receive data in an infinite loop
while (true)
{
// Read one line at a time
string line = streamReader.ReadLine();
// Print it to the screen
Console.WriteLine(line);
}
}
catch (Exception e)
{
// An error has occurred
Console.WriteLine(e.Message);
}
}
}
}