请原谅我的无知,但我相信我只需指向正确的方向......
我有一台通过以太网与我的PC通信的设备。我打开PuTTY,输入IP,端口,然后选择原始连接类型。连接成功后,我可以输入" R"从此设备接收一个样本。这没有问题。
我已经尝试了很多我在C#(MSDN套接字示例,博客示例)中实现这一目标的例子,到目前为止所做的一切都不尽如人意。
private static void StartClient()
{
// Connect to a remote device.
try
{
IPAddress ipAddress = IPAddress.Parse("192.168.0.4");
IPEndPoint remoteEP = new IPEndPoint(ipAddress, port);
// Create a TCP/IP socket.
Socket client = new Socket(AddressFamily.InterNetwork,
SocketType.Raw, ProtocolType.Raw);
// Connect to the remote endpoint.
client.BeginConnect(remoteEP,
new AsyncCallback(ConnectCallback), client);
connectDone.WaitOne();
var isConnected = client.Connected;
// Send test data to the remote device.
Send(client, "S");
sendDone.WaitOne();
我修改了这个示例(来自MSDN:https://msdn.microsoft.com/en-us/library/fx6588te(v=vs.110).aspx)以包含我使用的IP和端口,我试图将SocketType和ProtocolType更改为raw。该设备的数据表确实说它附带了TCP,因为它是默认设置。
我根本无法建立与此设备的连接,更不用说写入和读取它了。
非常感谢任何建议。