Lapsnaper TCP连接规范

时间:2017-07-19 16:18:02

标签: c# tcp tcpclient tcp-ip

我正在使用在Android上运行的Lapsnapper(转发器计时系统)。

Lapsnapper启用可与之建立连接的TCP / IP服务器,以构建自定义接口并从系统获取其他相关数据RE:转发器等。

我不了解Lapsnapper tcp服务器规范。

我以前做过一些tcp的东西,但我主要是一个更高级别的程序员,说实话,我对这个原始TCP的东西有点不了解。

规范如下:

Lapsnapper Spec

我不明白的是如何“发送”tcp数据? 我不明白0x70, 0x17如何等同于(6000)和2个字节...... 0x13, 0x00, 0x00, 0x00 = 19同样适用于规范应该是4个字节,但字符串“19”是2个字节?

我想知道我在读什么。任何帮助将不胜感激,因为我需要对此服务器进行相当多的通信,我想了解我在做什么......

我已经向lapsnapper支持寻求帮助,但与此同时,我想学习以上内容。

我在TCP连接上实际“发送”了什么?

规范说我应该期待一条消息,但是对于我目前的实现,似乎已经建立了连接,但我从未收到任何回复。

期待的响应消息:

lapsnapper response

我的代码: (PS如果我与SMTP服务器进行简单连接,这个代码块就可以工作,我可以通过smtp服务器的回复进行基本连接。但是当我尝试使用下面的代码与Lapsnapper TCP服务器通话时,我从未收到回复)

                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);

由于

0 个答案:

没有答案