【.Net MF网络开发板研究-05】Socket编程之客户端

本文深入探讨Socket客户端编程,从连接服务器、数据发送与接收等核心操作入手,结合实例代码,展示如何实现与服务器之间的通信。通过部署代码至开发板并使用配套工具验证效果,确保读者能够熟练掌握Socket客户端的开发技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

官方示例中也包括了 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程序(我编写的一个TCP/UDP测试工具,下载地址如下: http://www.sky-walker.com.cn/MFRelease/Tools/YFTCPServer.rar。)
运行后的程序界面如下:
可以发现,客户端已经连接到服务器了,并且发送了“ hello .net micro framework!!!”,我们发送数据“ .net micro framework”,发现服务器也已经返回所发送的数据了。
我们打开串口调试程序,也会发现开发板程序,把接收的程序通过 debug口发送出来了,如下图所示:
      
         基本的网络编程我们都介绍完了,用户可以根据自己的实际需要,很方便的编写网络通信程序了。
-------------------------------------------------------------------------------------------------- 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值