AWorks编程——socket通信

ZLG致远电子
关注

TCP服务器实例

按照基本的套接字编程流程,建立服务器,我们只需要调用socket、bind、listen、accept、send、recv、closesocket函数即可,如程序清单4,首先使用socket函数创建TCP类型的套接字,然后调用bind函数绑定本地网卡的IP地址和端口号,使用listen监听客户端的请求,然后accept函数将阻塞等待客户端的请求连接,当服务器监听到有客户端请求连接时,accept退出阻塞状态,建立连接,进入循环,使用send、recv收发数据。当数据传输完成后,使用closesocket关闭连接,回收资源。

程序清单4 非阻塞服务器

程序编写完成后,将服务器例程入口函数demo_tcp_server_block_entry()放入主函数中编译、下载到开发板,程序运行后在shell界面可看到服务器已经启动,如图9。

图9 服务器启动

服务器启动后,同样使用TCP上位机软件建立客户端进行测试,指定服务器的IP和端口号,如图10。

图10 创建客户端

客户端创建后,点击连接,如图11。

图11 连接到服务器

连接成功后,在发送区发送数据,接收区可以看到服务器回发的数据,如图12所示。此时在串口界面也可以看到服务器收到的数据,如图13。

图12 客户端收发数据

图13 服务器收到的数据

出错调试

如果程序运行后,没有成功建立连接,可按照以下步骤查看网络状态:

首先在串口界面调用AWorks的Shell命令ip addr,查看以太网IP地址是否配置成功,如图14。然后使用ping命令测试网络通信是否正常,如图15。

图14 查看ip地址

图15 测试网络是否正常

注解:本文使用的硬件平台为M1052_EV_Board开发板,购买可咨询ZLG的销售人员;软件平台为aworks_m105x_sdk_1.0.4-alpha软件包。

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存