一种基于邮件协议的聊天工具
来源:互联网 发布:ipad下载东西软件 编辑:程序博客网 时间:2024/06/06 10:07
在学习编写局域网即时聊天工具时,发现这种软件只能是在同一个局域网内传递消息。
随着网络知识的学习,发现邮件的SMTP和POP3协议支持邮件的发送,而且同样是tcp/ip通信,
而且现在很多免费的邮箱都支持客户端存取邮件,这样就联想到将聊天工具架设到一个免费的邮箱上面去!
基本思路如下:
1、为系统申请2个免费的并支持SMTP和POP3的邮箱(其实也可以不这样),为了下面容易区分,分别记为邮箱A和邮箱B
其中A用来发送信息,B用来接收信息(也可以用同一个邮箱)
2、发送消息时统一用邮箱A,发送到邮箱B
邮箱格式如下:
标题:From:userNameA
To:userNameB (识别信息写在标题是为了加快信息的传送,因为大部分邮箱用POP3接收时,可以只提取标题)
邮箱正文:
userNameA在2010/3/15 22:35说:
我是userNameA,请问收到吗?
发送结束后,可以删除该邮件,也可以不删除。
3、接收消息时,统一从邮箱B提取内容。过程如下:
1)读取邮箱B所有邮件,依次处理邮件标题如果接收方和自己的用户名相同则接收该邮件X的信息内容。这就体现出了识别信息写在标题的优点,处理时并不用读取全部邮件的全部信息,这样应该可以加快速度(还没有测试过)
2)处理邮件X。可以选择读取后删除该邮件,也可以不删除,根据软件设计需要
4、软件是否可以传递文件根据需要选择。传递文件可以利用邮件的发送附件功能。
5、用户注册,向同一的服务邮箱C或是邮箱B(邮箱A,B,C可以是同一个邮箱)发送主题为“userNameX 注册”(用户名后跟空格,在加上注册二字)的邮件,邮件正文填写用户的详细信息,信息格式暂定如下:
用户名:userNameX
用户昵称:雨夹雪
用户好友列表:
userNameA,userNameB,userNameC,userNameD,userNameE,userNameF,userNameG
用户userNameX已经填写不能修改,昵称可以随意修改。关于这个具体的细节有待确定。
6、用户修改注册信息,过程如下:
1)读取邮箱C中标题为“userNameX 注册”的邮件
2)读取用户信息并修改后,调用用户注册模块,重新注册。(修改信息的过程也就是重新注册的过程)
3)删除原注册邮件
7、添加好友时读取标题为“userNameX 注册”的邮件,可获取全部用户userName,由用户自行决定添加哪个好友,此时也可以选择读取特定好友的信息(不包括隐秘信息)。确定后调用修改注册信息模块,将好友列表后添加一条信息例如,添加userNameH。
8、本地保存一份用户好友列表的副本,只有在更新好友列表时,同步邮箱C和本地数据。
- 一种基于邮件协议的聊天工具
- 基于UDP协议的局域网网络聊天工具
- 基于XMPP协议的即时聊天工具之发送文件
- 基于socket的聊天工具
- 基于JAVA的聊天工具开发
- 基于TCP的QQ聊天工具
- 一种基于分片的监控协议
- 一种基于UDP的可靠传输协议
- 基于UDP的P2P聊天工具 0.5——自定义消息协议
- 基于POP服务的实时聊天工具
- C#基于socket的聊天工具与其源码
- C#基于socket的聊天工具与其源码
- MFC做的基于socket聊天工具
- 基于node-websocket-server的简易聊天工具
- 基于socket的android聊天工具简单实现
- 基于UDP广播的局域网聊天工具
- 基于TCP的多人聊天工具
- 一种基于WOL协议跨Internet远程唤醒的解决方案
- 解决OM的Price List输入找不到对应库存的ITEMS的问题
- ACE历史与简评(zz)
- vs2008快捷键
- KMP算法小析
- 浮点数的精度和转换
- 一种基于邮件协议的聊天工具
- 一个基于socket的资源共享平台的实现(二)
- 服务器列表SQL
- 更高效率的A^B mod C
- 网页导航菜单被Flash和播放器等对象挡住的解决办法
- 请问怎么获取积分
- window对象的学习(四)
- 互联网上的软件工程
- 如何有效地记忆与学习