示例代碼如下:
PDA端:
PDA端:
string msg = "PDA_Ready";
private string SendMsgAndReciveMsg(string msg)
{
// 需要返回的字符串
string result = string.Empty;
try
{
byte[] sendmsg = System.Text.Encoding.UTF8.GetBytes(msg); 需要發送的信息
System.Net.Sockets.TcpClient tcpc = new TcpClient();
System.Net.IPAddress ip = System.Net.IPAddress.Parse(this.hostIP); IP地址字符串轉換在IP地址
System.Net.IPEndPoint ipendpoint = new System.Net.IPEndPoint(ip,this.port); 建立網絡連接端點
tcpc.Connect(ipendpoint);
tcpc.GetStream().Write(sendmsg,0,sendmsg.Length); 發送信息到PC
int i = tcpc.GetStream().Read(request,0,request.Length);讀取信息
result = Encoding.UTF8.GetString(request,0,i);
tcpc.Close();
return result;
}
catch(Exception ex)
{
return result;
}
}
private string SendMsgAndReciveMsg(string msg)
{
// 需要返回的字符串
string result = string.Empty;
try
{
byte[] sendmsg = System.Text.Encoding.UTF8.GetBytes(msg); 需要發送的信息
System.Net.Sockets.TcpClient tcpc = new TcpClient();
System.Net.IPAddress ip = System.Net.IPAddress.Parse(this.hostIP); IP地址字符串轉換在IP地址
System.Net.IPEndPoint ipendpoint = new System.Net.IPEndPoint(ip,this.port); 建立網絡連接端點
tcpc.Connect(ipendpoint);
tcpc.GetStream().Write(sendmsg,0,sendmsg.Length); 發送信息到PC
int i = tcpc.GetStream().Read(request,0,request.Length);讀取信息
result = Encoding.UTF8.GetString(request,0,i);
tcpc.Close();
return result;
}
catch(Exception ex)
{
return result;
}
}
PC端:
啓動一個線程:
private System.Net.Sockets.TcpListener tcpl;
private System.Threading.Thread thread;
thread=new Thread(new ThreadStart(SendReceive));
thread.Priority=System.Threading.ThreadPriority.AboveNormal;
thread.Start();
接收與發送
private void SendReceive()
{
try
{
ArrayList al=new ArrayList();
tcpl.Start();
this.statusBarPanel1.Text = "正在監聽...";
while(lisen)
{
TcpClient tcpc = tcpl.AcceptTcpClient();
NetworkStream tcpStream = tcpc.GetStream();
byte[] request=new byte[6144];
int bytesRead = tcpStream.Read(request,0,request.Length);
sbReceive = Encoding.UTF8.GetString(request,0,bytesRead);
switch(sbReceive)
{
case "PDA_Ready":
byte[] msg = Encoding.UTF8.GetBytes("Server_Ready");
tcpStream.Write(msg,0,msg.Length);
break;
}
}
private void SendReceive()
{
try
{
ArrayList al=new ArrayList();
tcpl.Start();
this.statusBarPanel1.Text = "正在監聽...";
while(lisen)
{
TcpClient tcpc = tcpl.AcceptTcpClient();
NetworkStream tcpStream = tcpc.GetStream();
byte[] request=new byte[6144];
int bytesRead = tcpStream.Read(request,0,request.Length);
sbReceive = Encoding.UTF8.GetString(request,0,bytesRead);
switch(sbReceive)
{
case "PDA_Ready":
byte[] msg = Encoding.UTF8.GetBytes("Server_Ready");
tcpStream.Write(msg,0,msg.Length);
break;
}
}