使用QQ很久了,但是对于其中有一些咚咚很不明白。他是如何实现从一个客户(A)处传送文件给另外一个客户(B).
尤其是在Internet上的时候,更是如此。我对此理解了一下:
1.A通过某种方式直接找到了B,建立连接
2.A将文件自动转换为二进制流,直接通过连接,逐步逐步的传送到B对于第2点还好,最让我头痛的是第1点,
如何找到的?怎么实现的?我们使用Delphi是否可以实现?希望各位大虾出手相助
尤其是在Internet上的时候,更是如此。我对此理解了一下:
1.A通过某种方式直接找到了B,建立连接
2.A将文件自动转换为二进制流,直接通过连接,逐步逐步的传送到B对于第2点还好,最让我头痛的是第1点,
如何找到的?怎么实现的?我们使用Delphi是否可以实现?希望各位大虾出手相助
解决方案 »
- GDI++ 创建TIF文件问题 200分献上!
- delphi的ado连接oracle查询出错:“超出打开游标的最大数”,如何解决
- 兄弟们是否知道WebBrowser已经显示好的页面转换成图片的方法,我阅读网络杂志想复制下来几页以后看。
- 动态连接库调用很奇怪的问题
- delphi 下如何删除以某个扩展名结尾的文件??
- 如何计算同一字段里相同值的值?
- 一个开发ActiveX控件时发生的字符串的问题
- 关于delphi的tree view控件的 问题?
- 为什么我在程序运行中改变ADOQuery的SQL,open后不能正常执行,而我在程序设计中写入同样的SQL语句执行正常?
- 怎么样设置dbgrid当前记录背景色,和字体颜色?
- 如何在动态生成的DBComboBox中添加数值
- 很急! 100分!:做了一个组件 实现属性的下拉列表显示 可是安装之后没有效果 帮帮忙看一下代码哪里有毛病!!!!!
QQ登录后,Server会把所有在线好友的IP告诉你的。
之后说的话,都是之间传输的,所以传文件,也是可以的。
我也查阅了一些资料,据说有一个什么叫做Stocket的,也许可以,但是对于其中还是有太多的模糊。不知道我的想法是否正确,请各位继续支持和帮助,小生在此先谢过了。
它通过网络层的IP地址和传输层的端口号来实现,对与同一个IP地址的内部网络,通过不同的端口号来标识不同的QQ进程;
当你登陆QQ服务器的时候,服务器会保留你的保留IP地址和端口号信息,并在你的好友的QQ进程中进行列表显示,然后两个进程就可以通信了;至于P2P的文件传输,可以把文件转换成内存流的形式分段传输的,网上有好多例子,可以去找找;