读取服务器使用套接字发送的消息的变量

埃桑·阿克巴尔(Ehsan Akbar)

我正在使用旅客信息系统PIS(火车)。因此,火车使用端口8080上的套接字将其位置发送到我的服务器PIS。因此,我应该获取其位置并将其显示给乘客。来自火车的消息有一个模板,我应该遵循该模板。如您在这里看到的:

在此处输入图片说明

因此,如您所见,这里有6个变量。每个整数都是4个字节第一个变量是(4字节)消息源等。

在我的服务器中,我必须检测到这些变量,但是我不知道如何从消息中检测到它们。

 static void Listeners()
        {

            Socket socketForClient = tcpListener.AcceptSocket();
            if (socketForClient.Connected)
            {
                Console.WriteLine("Client:" + socketForClient.RemoteEndPoint + " now connected to server.");
                NetworkStream networkStream = new NetworkStream(socketForClient);
                System.IO.StreamWriter streamWriter =
                new System.IO.StreamWriter(networkStream);
                System.IO.StreamReader streamReader =
                new System.IO.StreamReader(networkStream);

                while (true)
                {

                    TimeTableRepository objTimeTableRepository = new TimeTableRepository();
                    SensorRepository objSensorRepository = new SensorRepository();
                    ArrivalTimeRepository objArrivalTimeRepository=new ArrivalTimeRepository();
                    TrainRepository objTrainRepository = new TrainRepository();
                   // OnlineTrainRepository ObjOnlineTrainrepository = new OnlineTrainRepository();

                    //-----
                    string theString = streamReader.ReadLine();

                }
         }
}

这是我对8080端口的监听器theString是火车发送的消息。我的问题是如何从theString中检测此参数(消息源,消息目标等)?我的意思是我需要它们的值存储在数据库。

最好的祝福

泰科布

看起来您不需要检测任何内容,并且绝对不应其拍成字符串尝试解析。

您已经知道您将获得一堆整数。您甚至都知道它们的顺序。使用BinaryReader可以获取您的电话号码,然后从那里开始。一旦加载了阅读器,它应该像调用BinaryReader.ReadInt32()一个接一个的读取消息的号码一样简单

我还必须强烈建议您调查using流的语句。

using (var reader = new BinaryReader(networkStream))
{
    var messageSource = reader.ReadInt32();
    var messageDestination = reader.ReadInt32();

    ... and so on ...
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python 3:套接字服务器使用sendto()函数发送到多个客户端

如何使用套接字从服务器读取数据?

如何使用Java中的套接字从服务器向特定客户端发送字符串消息?

使用套接字从 Java 客户端向 Python 服务器发送消息,反之亦然

TCP套接字服务器使用Spring集成同时处理多个客户端连接

Python 如何使套接字服务器使用客户端内置的命令

TCP服务器的异步读取使用boost :: asio打印客户端套接字发送的数据

读取流套接字服务器

服务器使用PHP发送事件

如何使用套接字将 2 个变量同时从客户端发送到服务器 [Python]

Spring Integration和TCP服务器套接字-如何向客户端发送消息?

套接字服务器无法接收客户端发送的消息

从Node JS Socket客户端向MINA套接字服务器发送消息

服务器脚本未在 python 套接字中发送消息

服务器无法通过C中的套接字向客户端发送消息

为什么我的服务器PrintWriter.println()无法通过套接字发送其消息?

通过套接字输出流从 Swift 客户端向 Java 服务器发送消息

Android:保持套接字打开以从服务器读取消息

等待客户端读取消息的套接字服务器

NodeJS 服务器套接字 - 读取客户端消息 server.on('data')

服务器使用websocket和netty发送问候消息->导致异常

C ++服务器使用TCP向Android客户端发送消息

Java Android使用套接字发送消息

使用python套接字发送消息

如果服务器使用pickle python发送消息太快,客户端不会收到所有消息

如何使用 Python 将数据从客户端套接字发送到服务器套接字?

HTTP 服务器如何使用 tcp 原始套接字检测和处理非 http 消息

如何使用偏移值从服务器使用kafka消息?

从套接字python服务器接收消息