TCP客戶端【TcpClient】
一、阻塞模式
1、命名空間
System.Net.Sockets
2、對象聲明
TcpClient dpu1TcpClient = null;//dpu1tcp客戶端,TcpClient模式
NetworkStream streamToServer = null;//用於接收和發送數據的數據流對象
3、為tcp對象分配空間
dpu1TcpClient = new TcpClient();//DPU1tcp客戶端初始化
4、連接服務器
按鈕回調函數
{
if (dpu1TcpClient.Connected)//如果已經連接則返回
{
return;
}
IPAddress ipaddress = IPAddress.Parse("192.168.1.1");//IP和端口
try
{
dpu1TcpClient.Connect(endpoint);
}
catch (SocketException e1)//連接失敗
{
//打印e1.Message
}
if(dpu1TcpClient.Connected)//連接成功則開啟接收線程
{
streamToServer = dpu1TcpClient.GetStream();//連接成功之後tcp數據流對象才能分配到空間
//在這裏開啟數據接收線程,使用streamToServer來發送接收數據
}
5、接收數據
線程函數
{
Byte[] data = new Byte[2048];
while(true)
{
int dataLength = streamToServer.Read(data, 0, data.Length);//這裏會阻塞
//處理數據
}
}
6、發送數據
發送按鈕回調函數
{
string msg = "<02GS0000FF>";
byte[] buffer = Encoding.Unicode.GetBytes(msg); //msg為發送的字符串
streamToServer.Write(buffer, 0, buffer.Length); //發往服務器
}
TCP客戶端【TcpClient】