|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Socket Bind(virtual IP) LocalEndpointhttp://test.thipparath.com/GPRS/GPRS.jpg Gateway receives packets from Trucks for processing Route/GPS position. When Truck and Gateway communicate in leased line, Gateway identifies different IP sent by different truck. Where communicate over internet, NAT Server is used for sending packets from different Trucks. Here is come to a problem that Gateway unable to create individual Truck Session for tracking for each truck GPS position because every packet received from internet is Same IP address. Hence, I would like to simulate NAT reverse translation function (separate source IP in Packets to different IP according to data in Packet). I decided to develop C# sockets offered in .NET framework. My application will play 2 roles – 1) Act Server to listen inbound packet from internet, 2) Act Client to forward captured packet to Gateway with different IP as the following flows: 1) Create Asynchronous Socket for Listening 2) Reading data by Accepted Socket instance, analyze data ( data contain SIM No for key ), Lookup Table in Database or Generate virtual IP 3) Forward data with Different virtual IP Problem Section (Sending data to Gateway) // I want to generate virtual IP IPAddress ipHostAddress = IPAddress.Parse(“192.XX.XX.XXXâ€); IPEndPoint localEndPoint = new IPEndPoint(ipHostAddress,0); Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sender.Bind(localEndPoint); //  I can’t bind virtual IP // ( Requsted address invalid in it context ) Socket Exception thrown sender.Connect(remoteEndPoint); I sincerely would like to know yours idea in the scenario like this. Is there any other ways? Thanks in advance. Whats with that jpg that didn't download? Not a good business solution IPv6
is just around the corner your solution looks like it will break. You could do everything over web as is. Give each truck a digital certificate and identify by encrypted packed something that can grow and address the needs of the business. If you can decrypt whats sent to it then it came from one of your trucks. You can drop the expense for leased line and also let the driver communicate with their family securely using the same certificate via the company server. Stop by the truck stop and listen to the wi-fi. Show quote "Jonathan Woods" wrote: > Please find file for illustrating infrastructure --> > http://test.thipparath.com/GPRS/GPRS.jpg Gateway receives packets from > Trucks for processing Route/GPS position. When Truck and Gateway > communicate in leased line, Gateway identifies different IP sent by > different truck. Where communicate over internet, NAT Server is used > for sending packets from different Trucks. Here is come to a problem > that Gateway unable to create individual Truck Session for tracking for > each truck GPS position because every packet received from internet is > Same IP address. > > Hence, I would like to simulate NAT reverse translation function > (separate source IP in Packets to different IP according to data in > Packet). I decided to develop C# sockets offered in .NET framework. My > application will play 2 roles – 1) Act Server to listen inbound > packet from internet, 2) Act Client to forward captured packet to > Gateway with different IP as the following flows: > > 1) Create Asynchronous Socket for Listening > 2) Reading data by Accepted Socket instance, analyze data ( data > contain SIM No for key ), Lookup Table in Database or Generate virtual > IP > 3) Forward data with Different virtual IP > > Problem Section (Sending data to Gateway) > > // I want to generate virtual IP > IPAddress ipHostAddress = IPAddress.Parse(“192.XX.XX.XXXâ€); > IPEndPoint localEndPoint = new IPEndPoint(ipHostAddress,0); > > Socket sender = new Socket(AddressFamily.InterNetwork, > SocketType.Stream, > ProtocolType.Tcp); > > sender.Bind(localEndPoint); //  I can’t bind virtual IP > // ( Requsted address invalid in it context ) Socket Exception thrown > sender.Connect(remoteEndPoint); > > > I sincerely would like to know yours idea in the scenario like this. Is > there any other ways? Thanks in advance. > > |
|||||||||||||||||||||||