C# Lapsnapper TCP连接规范
我使用的是运行在Android上的Lapsnapper(一种转发器计时系统) Lapsnapper使TCP/IP服务器能够与之建立连接,以构建自定义接口并从系统获取一些其他相关数据:转发器等 我不理解Lapsnapper tcp服务器规范 我以前做过一些tcp的东西,但我基本上是一个更高层次的程序员,老实说,我对这些原始tcp的东西有点不了解 规范内容如下: 我不明白的是如何“发送”tcp数据? 我不明白为什么C# Lapsnapper TCP连接规范,c#,tcp,tcpclient,tcp-ip,C#,Tcp,Tcpclient,Tcp Ip,我使用的是运行在Android上的Lapsnapper(一种转发器计时系统) Lapsnapper使TCP/IP服务器能够与之建立连接,以构建自定义接口并从系统获取一些其他相关数据:转发器等 我不理解Lapsnapper tcp服务器规范 我以前做过一些tcp的东西,但我基本上是一个更高层次的程序员,老实说,我对这些原始tcp的东西有点不了解 规范内容如下: 我不明白的是如何“发送”tcp数据? 我不明白为什么0x70、0x17等于(6000)和2个字节。。。 这同样适用于0x13、0x00、
0x70、0x17
等于(6000)和2个字节。。。
这同样适用于0x13、0x00、0x00、0x00=19
,规范规定应该是4个字节,但字符串“19”是2个字节
我正在努力理解我在读什么。任何帮助将不胜感激,因为我需要做相当多的通信到这个服务器,我想了解我在做什么
我已经向lapsnapper support寻求帮助,但与此同时,我想从上面学到一些新东西
我在TCP连接上实际“发送”什么
该规范说我应该期望收到一条消息,但在我当前的实现中,似乎建立了一个连接,但我从未收到任何消息
预期的响应消息:
我的代码:
(注意:如果我与SMTP服务器进行简单连接,并且可以通过所述SMTP服务器的回复进行基本连接,则此代码块有效。但是,当我尝试使用下面的代码与Lapsnapper TCP服务器对话时,我从未收到回复)
谢谢
0x70 0x17
(先有最低有效位的小尾数)==0x1770
==6000十进制0x13、0x00、0x00、0x00
=0x00000013
==19分贝。我懂了。我到底要“放在电线上”什么。。。?0x70 0x17或0x1770或“6000”?我假设在连线上它应该是以下形式:0x70 0x17
我将尝试直接在字节数组中构建示例GET消息——然后,当您通过连线发送它时,您可以确保获得示例的逐字“副本”。
string lapSnapperIP = "10.0.0.131";
int lapsnapperPort = 9001;
string lapSnapperMessageID;
string lapsnapperLengthOfMessage;
string lapsnapperProductID;
string lapsnapperServerVersion;
string lapsnapperPasswordLength;
string lapsnapperPassword;
lapSnapperMessageID = "6000";
lapsnapperLengthOfMessage = "19"; //to implement
lapsnapperProductID = "50";
lapsnapperServerVersion = "100000";
lapsnapperPasswordLength = "4";
lapsnapperPassword = "1234";
string lapSnapperDataSend;
lapSnapperDataSend = lapSnapperMessageID + lapsnapperLengthOfMessage + lapsnapperProductID + lapsnapperServerVersion + lapsnapperPasswordLength + lapsnapperPassword;
s.Connect(lapSnapperIP, lapsnapperPort);
byte[] sendMessage = Encoding.UTF8.GetBytes(lapSnapperDataSend);
byte[] receiveBytes = new byte[256];
int i = 0;
string receivedMessage = "";
//send data
i = s.Send(sendMessage);
//receive data
i = s.Receive(receiveBytes); // (no reply here...)
receivedMessage = Encoding.UTF8.GetString(receiveBytes);