C#tcp客户端(ASCII)
我正在尝试使用Tcp客户端读取服务器。要读取服务器,需要发送命令 命令(ASCII通信): octet001:SOH; 八位字节002:访问代码: “0”-读取 “1”-需求 “2”-更新 octet003:STX; 八位字节004-135:用于常规通信服务器/读卡器的命令,将半字节转换为半字节转换为ASCII码,包括CRC; octet136:ETX; octet137:LRC 简单回答: octet001:STX; 八位字节002-517:常规通信服务器/读卡器的简单响应,将半字节转换为半字节,转换为ASCII码,包括CRC; octet518:ETX; octet519:LRC 我的Tcp客户端代码: 我的问题是,如何将这些命令转换为发送到服务器?我试过这个:C#tcp客户端(ASCII),c#,tcp,client,ascii,C#,Tcp,Client,Ascii,我正在尝试使用Tcp客户端读取服务器。要读取服务器,需要发送命令 命令(ASCII通信): octet001:SOH; 八位字节002:访问代码: “0”-读取 “1”-需求 “2”-更新 octet003:STX; 八位字节004-135:用于常规通信服务器/读卡器的命令,将半字节转换为半字节转换为ASCII码,包括CRC; octet136:ETX; octet137:LRC 简单回答: octet001:STX; 八位字节002-517:常规通信服务器/读卡器的简单响应,将半字节转换为半字
Connect("192.168.0.250", "0");
Connect("192.168.0.250", "1");
Connect("192.168.0.250", "2");
但没有服务器响应。不确定,但请尝试以下操作:
try
{
TcpClient client = new TcpClient();
client.Connect(server, port);
byte[] data = new byte[256];
StringBuilder response = new StringBuilder();
NetworkStream stream = client.GetStream();
do
{
int bytes = stream.Read(data, 0, data.Length);
response.Append(Encoding.UTF8.GetString(data, 0, bytes));
}
while (stream.DataAvailable); // while data in stream
Console.WriteLine(response.ToString());
// close stream
stream.Close();
client.Close();
}
catch (SocketException e)
{
Console.WriteLine("SocketException: {0}", e);
}
catch (Exception e)
{
Console.WriteLine("Exception: {0}", e.Message);
}
Console.WriteLine("End...");
Console.Read();
您可以通过TCP聊天查看我的回购协议
工作:
嗨,阿库玛。我测试了你的例子,但没用。和我的例子一样。。在“读取”行中,始终超时。我需要发送命令来返回数据。所有命令都在我帖子的“命令”部分。我没有访问服务器的权限,我只知道有一个服务器,我需要发送命令来接收数据。您的internet上可能有问题,因为某些提供商或网络设置可能会干扰连接(添加的视频)不。。。服务器正在我的本地网络上运行。没有互联网问题或设置。我可以接。。但是我不识字。因为我不知道如何发送正确的命令。
try
{
TcpClient client = new TcpClient();
client.Connect(server, port);
byte[] data = new byte[256];
StringBuilder response = new StringBuilder();
NetworkStream stream = client.GetStream();
do
{
int bytes = stream.Read(data, 0, data.Length);
response.Append(Encoding.UTF8.GetString(data, 0, bytes));
}
while (stream.DataAvailable); // while data in stream
Console.WriteLine(response.ToString());
// close stream
stream.Close();
client.Close();
}
catch (SocketException e)
{
Console.WriteLine("SocketException: {0}", e);
}
catch (Exception e)
{
Console.WriteLine("Exception: {0}", e.Message);
}
Console.WriteLine("End...");
Console.Read();