Я работаю над информационной системой для пассажиров PIS (поезд). Поэтому поезда отправляют свое местоположение на мой сервер PIS, используя сокет на порту 8080. Так что я должны получить их местоположения и показать их пассажирам. Сообщение, которое приходит от поездов, имеет шаблон, которому я должен следовать. Как вы можете видеть здесь:
Как видите, у нас есть 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 — это сообщение, отправляемое поездами. Моя проблема в том, как я могу определить эти параметры (источник сообщения, пункт назначения сообщения и т. д.) from theString? Я имею в виду, что мне нужно их значение для хранения в базе данных.
с уважением