以C#实现上位机连接指定ip,并读取数据。
先初始化
IPAddress IPA = IPAddress.Parse(ip);//实例化
point = new IPEndPoint(IPA, port);//初始化
client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//新实例初始化
thread_connect = new Thread(new ThreadStart(ConnectServer));//创建连接线程
thread_connect.IsBackground = true;//后台线程
thread_connect.Start();//开始线程
ip与port为想要连接的ip地址以及端口。ConnectServer为函数,其如下:
private void ConnectServer()
{
while (true)
{
try
{
client.Connect(point);//连接
}
catch (Exception e)
{
//连接失败
}
if (client.Connected)//连接成功
{
thread_recv = new Thread(new ThreadStart(Received));//创建新线程
thread_recv.IsBackground = true; // 作为后台线程处理
thread_recv.Start();
break;
}
}
}
Received用于处理TCP传来的数据。如下:
private void Received()
{
byte[] buff = new byte[100];
while (true)
{
try
{
int len = client.Receive(buff); //获取实际接收数据大小并存在buff中
}
}
}
对于发送数据,则直接调用发送:
client.Send(buffer);
关闭则:
client.Close();
client.Dispose();
要使用这些API接口,使用:
using System.Net;
using System.Net.Sockets;