【.Net MF网络开发板研究-05】Socket编程之客户端分类: .net micro framework 〖.Net MF〗 〖嵌入式〗 2011-07-21 00:21 323人阅读 评论(0) 收藏
举报
介绍完了《Socket编程之服务端》之后,我们这篇文章介绍一下Socket客户端编程。
官方示例中也包括了SocketClient,不过其完成的功能一是DNS解析,二是网站数据接收。我们需要大幅度改进一下,让SocketClient程序和PC上的Socket Server进行通信。 连接服务器函数代码如下: private static Socket ConnectSocket(String ip, Int32 port) { try { Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(new IPEndPoint(IPAddress.Parse(ip), port)); return socket; } catch { return null; } } 主函数代码调用connectSocket函数,如果连接成功,则发送“hello .net micro framework!!!”,发送完之后,然后接收服务器发的数据,并把它直接发送回去,相关代码如下。 while (true) { serverSocket = ConnectSocket("192.168.1.128", 8080); if (serverSocket != null) { string s="hello .net micro framework!!!"; byte[] bytDatas = System.Text.UTF8Encoding.UTF8.GetBytes(s); serverSocket.Send(bytDatas); while (true) { try { Byte[] buffer = new Byte[1024]; if (serverSocket.Poll(5 * c_microsecondsPerSecond, SelectMode.SelectRead)) { if (serverSocket.Available == 0) return; Int32 bytesRead = serverSocket.Receive(buffer, serverSocket.Available, SocketFlags.None);
byte[] bytData = new byte[bytesRead]; Array.Copy(buffer, bytData, bytData.Length); string ss = new string(System.Text.UTF8Encoding.UTF8.GetChars(bytData)); Debug.Print(ss); serverSocket.Send(bytData); } } catch (SocketException se) { Debug.Print(se.ToString()); break; } } } Thread.Sleep(1000); } 把代码部署到开发板并运行,然后我们打开已经编写好的TCP Server程序 运行后的程序界面如下:
可以发现,客户端已经连接到服务器了,并且发送了“hello .net micro framework!!!”,我们发送数据“.net micro framework”,发现服务器也已经返回所发送的数据了。 我们打开串口调试程序,也会发现开发板程序,把接收的程序通过debug口发送出来了,如下图所示:
基本的网络编程我们都介绍完了,用户可以根据自己的实际需要,很方便的编写网络通信程序了。 |
|
来自: orion360doc > 《TCP》