最近在学习开发一个局域网的QQ聊天软件。遇到了挺多的技术难题,望高手指点迷津:
1、QQ聊天窗口右侧的隐藏窗体是如何实现的?就是左右窗口中间的分隔栏那里有一个三角形的按钮,点击一下,右边的窗口就可以隐藏。再点击一下,就会显示。 2、实现了隐藏窗体后,QQ在语音、视频、传文件的时候、都是在聊天窗口的右侧窗体上显示的。那么,QQ是每种功能都做一个对应的隐藏窗体,然后再依据不同的功能显示不同的窗体;还是使用的是同一个隐藏窗体,然后根据不同的功能替换上相应功能的控件。QQ是通过哪一种方式来实现的?还是其他的方法实现的? 3、QQ是如何实现本地的聊天记录和服务器端聊天记录的保存的?
1、QQ聊天窗口右侧的隐藏窗体是如何实现的?就是左右窗口中间的分隔栏那里有一个三角形的按钮,点击一下,右边的窗口就可以隐藏。再点击一下,就会显示。 2、实现了隐藏窗体后,QQ在语音、视频、传文件的时候、都是在聊天窗口的右侧窗体上显示的。那么,QQ是每种功能都做一个对应的隐藏窗体,然后再依据不同的功能显示不同的窗体;还是使用的是同一个隐藏窗体,然后根据不同的功能替换上相应功能的控件。QQ是通过哪一种方式来实现的?还是其他的方法实现的? 3、QQ是如何实现本地的聊天记录和服务器端聊天记录的保存的?
保存就好似将传输过来的数据流写入txt文件中!这个都在socket编程里面都有
马化腾靠QQ的人群,己经成网霸了,走遍了别人的路,让别人无路可走.
QQ音乐,QQ影音,QQ医生……
360为什么和它掐架,不是因为QQ电脑管家比360牛,而是QQ受众广,很快就能挤掉360,君不见,泡泡堂,联众现在何方。
老马一个艰难的决定,伟哥也软了。扣扣保镖召回了,不再推广了。
那马化腾准备做个艰难的决定,上csdn就不能上QQ,上QQ就不能上csdn。
唉!
本地保存聊天记录嘛,
要么用数据库 access
要么用文件保存 IO操作呗
保存到mysql吧。。自己的话就保存到access
QQ用的是一个公共的插件,使用多线程,异步操作的,多了解一下异步线程你会明白的。
至于你说的那个隐藏右侧,用的是后台动态添加Panel。
保存记录就更简单了,你每次发送,和接受到信息的同时,把信息保存在数据库里就行了。
2,窗体不是手拖的,做成控件,没单击一次就创建一个当前控件的对象即可,这个控件里面有聊天对框,语音聊天等功能。每次单击一个窗体都会NEW一个对象出来,关闭窗体施放对象。
3、聊天记录的保存,那就更容易了,可以序列化成流保存在文本中,或者INI文件中,或者XML中,或者。。做一个ACCESS的数据库之类的用来记录。
服务器保存,记录直接放数据库 或者自己写个结构,如果是类似对方不存在 发送的消息等对方上线看到
那是因为人家服务器24小时运行的,实时检测你的QQ上线状态,或者也可能你一上线就发送给QQ请求
询问服务器是否有给你的留言,然后显示即可这些东西的确都是很简单的东西,1,2题就是界面 3才和程序有关系,
如果你是美工 那你学1,2 如果你要做架构师,就学3
如果你要什么都会 能自主研发 1,2,3都要
如果你有钱,完全外包,没必要自己做一块 外包一块,,那是企业做的事 不是个人做的
图片不会
networkstream 中将流保存到文件中就可以了