AWorks编程——socket通信
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软件包。
图片新闻
最新活动更多
-
4月16日预约观看>> 开发前服,优化项目投资价值 筑牢落地关键防线
-
4月22日立即报名>> 【在线会议】ADI六款仪器仪表方案助力产品快速上市
-
5月13日立即预约>>> 【线下会议】恩智浦创新技术峰会·深圳
-
5月14日立即下载>> 【白皮书】村田室内外定位解决方案
-
即日-5.20立即下载>> 【限时免费】物理场仿真助力生物医学领域技术创新
-
5月29日立即下载>> 【白皮书】工业视觉AI实战白皮书合集


分享














发表评论
登录
手机
验证码
手机/邮箱/用户名
密码
立即登录即可访问所有OFweek服务
还不是会员?免费注册
忘记密码其他方式
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论