我是套接字编程的新手。我需要存储来自远程设备的数据。
该设备将以字符串格式(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地址的设备不接受。
首先,我想在我的系统中创建客户端和服务器,你能解释我需要遵循的整个过程来做这些事情。
我可以在我的系统中使用哪些端口号,如何从远程设备收听传入数据,我想在我的本地系统中检查客户端和服务器。
你能逐步解释这个过程,我完全糊涂了。
答案 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)
}