c# - Read variables of a message that is sent by a server using socket -
i working on passenger info scheme pis(train).so trains send location server pis using socket on port 8080 .so should locations , show them passengers . message comes trains has template should follow that. can see here :
so can see here have 6 variables .every integer 4 byte. first variable is(4 byte) message source , etc.
in server have observe these variable don't know how can observe them message .
static void listeners() { socket socketforclient = tcplistener.acceptsocket(); if (socketforclient.connected) { console.writeline("client:" + socketforclient.remoteendpoint + " connected 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(); } } }
here listener port 8080 , thestring message send trains.my problem how can observe parameters (message source,message destination , etc) thestring?i mean need value of them store in database .
best regards
looks don't need observe , should not slapping in string seek , parse.
you know getting bunch of integers back. know order in. utilize binaryreader numbers , proceed there. 1 time load reader up, should simple calling binaryreader.readint32()
read message's numbers 1 after another.
i must highly recommend using
statements streams.
using (var reader = new binaryreader(networkstream)) { var messagesource = reader.readint32(); var messagedestination = reader.readint32(); ... , on ... }
c# sockets listener port
No comments:
Post a Comment