Lytte på TCP port
Jeg har bladret lidt her på Eksperten og Googlet efter en løsning. Jeg har fået opsat et SIM-kort fra Telia til at køre GPRS i en enhed. Den sender så data (ASCII-strenge) til deres APN og derefter sendes den via TCP til min server (SBS2003) hvor der er åbnet en port (8000) i router/firewall.Min opgave er så at fange indkomne data på porten og arbejde videre med dem.
Inden jeg kører noget på serveren ville jeg lige høre om koden her er en brugbar løsning:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace TCPServerConsol
{
class Program
{
static byte[] Buffer { get; set; }
static Socket sck;
static void Main(string[] args)
{
sck = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sck.Bind(new IPEndPoint(0, 8000));
sck.Listen(100);
Socket accepted = sck.Accept();
Buffer = new byte[accepted.SendBufferSize];
int bytesRead = accepted.Receive(Buffer);
byte[] formatted = new byte[bytesRead];
for (int i = 0; i < bytesRead; i++)
{
string strData = Encoding.ASCII.GetString(formatted);
Console.Write(strData + "\r\n");
sck.Close();
accepted.Close();
}
}
}
}
Mvh, LennartH