如何从.Net中的远程设备接收TCP IP消息

时间:2013-10-10 10:37:26

标签: c# sockets tcpclient tcplistener

我是套接字编程的新手。我需要存储来自远程设备的数据。

该设备将以字符串格式(datapacket格式)发送数据到post方法。它需要tcp ip地址和端口地址,并将数据提交到该地址。

我需要存储该数据并采取进一步行动(报告)。

现在我想知道为了接收数据我需要遵循的流程是什么。我读了一些线程,我们必须使用tcp listner来读取它。

在这个过程中,我创建了一个客户端,它将使用以下代码发送一些数据。

string Message=" Tcp Message";
byte[] Buffer=System.Text.Encoding.Default.GetBytes(Message);
listBox1.Items.Add("Opening Connection");
TcpClient ObjClient = new TcpClient();
ObjClient.Connect("sekharam-PC", 2238);
listBox1.Items.Add( "Connection Success, sending Message");
ObjClient.GetStream().Write(Buffer, 0, Buffer.Length);
ObjClient.Close();

它正在发送,但是当我更改端口号时抛出错误,说带有IP地址的设备不接受。

首先,我想在我的系统中创建客户端和服务器,你能解释我需要遵循的整个过程来做这些事情。

我可以在我的系统中使用哪些端口号,如何从远程设备收听传入数据,我想在我的本地系统中检查客户端和服务器。

你能逐步解释这个过程,我完全糊涂了。

2 个答案:

答案 0 :(得分:1)

您必须了解网络和TCP的基础知识,请阅读以下链接中的文章

http://www.codeproject.com/Articles/10649/An-Introduction-to-Socket-Programming-in-NET-using

答案 1 :(得分:1)

TCP是基于连接的协议。如果你有另一方愿意接受它,你只能在它上面发送数据。

在.Net中,这将是一个TCPListener类。 这将侦听特定端口,以侦听该端口上的传入连接。

如果您没有听众,您将被拒绝连接,远程主机被强行拒绝....'消息。

一旦有了听众,就会出现以下情况:

Client.Connect("主机名",PORTNUMBER);

然后,监听器需要为传入连接创建相应的客户端。 (这有利于来回沟通)

If(TCPListener.Pending()) // Someone wants to connect to the listener
{
   TCPClient client = TCPListener.Accept();
   //Do stuff with the receiver to receive data  (you need to simulaneously send data on the sender side)


}