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

开篇前言:

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

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

视频展示:

http://player.youku.com/player.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广播,路由 基都会完全放行。



项目文档下载:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

交叉编译之王 hahaha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值