最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

嵌入式开发38,39,40天(项目3:基于A8开发板的局域网聊天工具)

运维笔记admin26浏览0评论

嵌入式开发38,39,40天(项目3:基于A8开发板的局域网聊天工具)

嵌入式开发38,39,40天(项目3:基于A8开发板的局域网聊天工具)

开篇前言:

其实想了很久要不要写这个项目出来,毕竟这个项目用到的特殊库相对比较多,这也是网上那么少嵌入式项目开发的视频一样,在嵌入式的世界里,就是为了开发某个项目而裁剪硬件,裁剪系统,把不需要的全部抛弃掉,而制作成一个特制的嵌入式产品。每个系列的产品都是独一无二的,可能你看起来表面一样,可能内部的从硬件到软件完全不同。

但我看到很多人对聊天特别感兴趣,我还是决定把它放出来。从零说起。

视频展示:

.php/sid/XMTcxODI1NzE2MA==/v.swf


项目目的:

基于开发板,在局域网内,实现网络聊天,纯linux-c编写。    功能:       1)检索在线人数,并且显示ip到开发板上       2)对屏幕操作可以选择交谈对象       3)发送语音和表情       4)接收语音和表情

项目框架图:




编译环境搭建

1)显示jpg图片库 2)录音库  详细过程看文档库移植步骤.txt

相关知识:

文件IO
LCD屏知识
网络编程:udp tcp 网络编程函数;自定通讯协议;
系统编程
线程概念

链表



编写框架:

1.图片载入,触摸点的描绘(发送表情的区域,单击,终端打印或“发送表情”的字坐标)
2.上线广播,接收反馈信息,其它用户加入链表;
3.链表ip显示

表情命令:
1.sendto:sendemoji xxx.jpg


广播命令:
sendto:broadcase

发送录音:
发送方:
1.sendto buf: send_record
2.sendto buf://
2.1 打开文件
2.2 读取文件
2.3 发送内容文件内容(发送校验码“1”)
3.sendto buf:send_record_end
3.1 关闭文件


接收方:
1.接收到“send_record”命令
2.写数据:
2.1 创建文件
2.2 接收数据(接收校验码比对“1”)
2.3 写文件
3.接收到“send_record_end”命令
3.1 关闭文件



代码可优化的地方:

1:udp的自定义的协议对接部分 2:文件传输改为tcp协议 3:代码规范性,这也是我代码的最大问题。 4:可以加入聊天记录  5:使用内核链表存储用户信息 6:建立本地用户信息文件 7:自动获取本地IP功能,封装好


本次项目发现的问题:

1:udp的单播发送消息,路由可能会因为安全性而阻塞。 2:udp广播,路由 本 基都会完全放行。


项目文档下载:

=3080466177&uk=2772267903


发布评论

评论列表(0)

  1. 暂无评论