介绍完了《
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程序(我编写的一个TCP/UDP测试工具,下载地址如下:http://www.sky-walker.com.cn/MFRelease/Tools/YFTCPServer.rar。)
运行后的程序界面如下:
可以发现,客户端已经连接到服务器了,并且发送了“hello .net micro framework!!!”,我们发送数据“.net micro framework”,发现服务器也已经返回所发送的数据了。
我们打开串口调试程序,也会发现开发板程序,把接收的程序通过debug口发送出来了,如下图所示:
基本的网络编程我们都介绍完了,用户可以根据自己的实际需要,很方便的编写网络通信程序了。
------------------------------------------------------------------
本文源码:http://www.sky-walker.com.cn/MFRelease/Sample/YFMFSocketClient.rar
MF简介:http://blog.csdn.net/yefanqiu/article/details/5711770
官方网站:http://www.sky-walker.com.cn/
分享到:
相关推荐
esp32开发板esp-mesh wifi组网可行性文档分析
两块STM32,一个做主机一个做从机,能够实现主机发送数据以及主机读取从机数据。通过串口调试,以及LED灯来提示工作状态。
近来有些刚入门的用户,不太了解.NET Micro Framework开发板的使用,所以写了这篇文档,以期缩短用户对开发板的熟悉时间。
mini2440开发板--CMOS摄像头数据手册
与教程--FPGA基础入门【11】开发板USB-UART串口通信配置--相应的源代码。 根目录包含: 1. 相关文档,nexys4ddr_rm.pdf是开发板文档;DS_FT2232H.pdf是UART芯片FT2232HQ文档 2. src/包含所有源代码 3. sim/包含...
.NET Micro Framework开发板原理图(红牛开发板)
STM32F407开发板作为客户端进行网络通信,解压即用
这是神舟I号开发板--显示示例,可以正常使用
.NET Micro Framework开发板使用手册(红牛开发板)
STM32_Nano开发板--原理图 很完整 不错,欢迎下载
普中STM32-PZ6806L开发板资料光盘结构 | |---1--用户必看 | |--KEIL5安装教程 | |--普中ARM仿真器使用说明 | |--普中PZ6806L开发板入门教程 | |---2--开发板原理图 | |--彩屏原理图-----------------对应...
北京瑞泰公司 DSP开发板 ICETEK-DM642-PCI_原理图_v1.rar 绝对正确 我发现有一个要10分资源分的 那个是骗人的他用的是TI 的EM
ALIENTEK MiniSTM32开发板例程-库函数版本
Sifive开发板U-BOOT启动信息和调试
4412开发板linux-QT下使用wfi设置.
优龙开发板 YL-E2410A原理图 S3C2410为核心开发板 优龙开发板套件 值得学习 分为核心板CORE;和扩展板 一共两个原理图
s3c6410开发板 u-boot_sd-ram256.bin : 支持SD启动,适用于DDR RAM内存容量为256M的配置
15单片机外部中断 STC-开发板4-程序-C语言-V2_20150112
Nucleo 开发板ST-link驱动,win10可用