没有合适的资源?快使用搜索试试~ 我知道了~
p2p-仿QQ简易聊天程序
4星 · 超过85%的资源 需积分: 9 17 下载量 71 浏览量
2011-07-15
16:56:45
上传
评论
收藏 353KB DOC 举报
温馨提示
试读
37页
P2P是peer-to-peer的缩写,或称为对等联网。P2P技术使得网络上的沟通变得容易,网络上现有的许多服务可以归入P2P的行列。即时讯息系统如微软的MSN Messenger及国内的OICQ是最流行的P2P应用。由于它们都需要有位于中心的服务器来协调,于是便有了编写本软件的构想。
资源推荐
资源详情
资源评论
【摘 要】 P2P 是 peer-to-peer 的缩写,或称为对等联网。P2P 技术使得
网络上的沟通变得容易,网络上现有的许多服务可以归入 P2P 的行列。即
时讯息系统如微软的 MSN Messenger 及国内的 OICQ 是最流行的 P2P
应用。由于它们都需要有位于中心的服务器来协调,于是便有了编写本软
件的构想。
本软件功能摆脱了中心服务器的束缚,是一个实用性通信软件。它的基本
功能就是让用户能够在局域网甚至在广域网上点对点的进行交流。由于
TCP/IP 连接协议的服务是设计客户端/服务器应用程序时的主流标准,所
以本软件主要采用 TCP/IP 协议的网络通信技术;客户端,服务器类是从
CAsyncSocket 类中继承来的,因此本软件通信完全是异步的;程序在
Windows XP 系统、Visual C++6.0 下编译通过,并在 Windows
NT100M 以太网上运行良好。本软件创建的是对话框应用程序,采用多
线程操作;连接后服务器可以充当客户机,客户机也可以充当服务器。它
们可以在同一台计算机上,也可以把应用程序复制到另一台计算机上,这
样没有中间服务器存在,在两个独立的计算机上分别运行应用程序,从而
通过网络传递消息。本软件主要完成了以下功能:基本文字聊天功能,传
输文件功能,远程控制功能。还有语音聊天功能需要进一步改进,才能达
到预期效果。在传输文件过程中,需要建立另一个进程,在新建的进程中
传输文件,并且可以随时中断传输;远程控制功能主要是获取对方机器信
息,获取对方进程,锁定和解锁键盘,锁定和解锁鼠标等。
【关键词】 P2P,客户端,服务器,通信,多线程
P2P-Based network communication tools
【Abstract】 P2P is the acronym for peer-to-peer, or called on other network.
P2P network technology makes the communication easier, and many existing
services can be classified as P2P service. Instant messaging systems such as
Microsoft's MSN Messenger and domestic OICQ was the most popular P2P
application. As they both need the central server to coordinate the server, there is
the preparation of this software concept. This software is a practical
communication software, as it functions from a central server constrains. Its
basic function is to allow users to the LAN or WAN in the online peer-to-peer
exchange. As TCP/IP agreement linking the service is designed client / server
application procedures for the mainstream standards, Therefore, the software
used mainly TCP/IP agreement network communication technology; client,
server from CAsyncSocket inherited category, and therefore the software is
completely asynchronous communi- cation; procedures in Windows XP system
and under Visual C + + 6.0 compiler , and is running good in Windows NT and
100M Ethernet.This software creates the dialog box applications through multi-
threaded operation; after connection the server can act as client, Clients can also
act as servers. They can be on the same computer, can also copy the application
to another computer, by doing so intermediate server no longer exists. operating
applications separately in two computers so that information is imparted through
the network.The software completed the following major functions : basic text
chat, file transfer functions, remote control functions. Voice chat also need to be
further improved in order to achieve the desired effect. Transfer files in the
process, we need to create another process in the new process to transfer files,
and transmission can be interrupted at any time; Remote control function is the
main access to other machines of information, access to each other's process,
lock and unlock the keyboard and mouse locking and unlocking other.
【Keywords】 P2P ,client, Server,communication,multi-thread
目 录
第一章 绪论.............................................................................................................................1
1.1 课题的主要内容和国内外发展方向.................................................................................1
1.2 软件的预期实现的目标和完成状况.................................................................................2
1.2.1 服务器端的应用程序将完成如下功能..........................................................................2
1.2.2 客户端的通讯程序将完成如下功能..............................................................................2
1.2.3 目前的实现状况..............................................................................................................3
第二章 通信方案的设计........................................................................................................4
2.1 TCP 与 UDP 协议的选择...................................................................................................4
2.1.1 TCP 协议..........................................................................................................................4
2.1.2 UDP 协议.........................................................................................................................4
2.2 多线程编程.........................................................................................................................5
2.3 WinInet 编程与 WinSock 编程的比较及其优点..............................................................5
2.4 通信原理及过程.................................................................................................................6
第三章 具体的设计方法........................................................................................................7
3.1 基本的 SOCKET 函数.......................................................................................................7
3.2 通信过程...........................................................................................................................10
3.2.1 C/S 模式的请求响应方式.............................................................................................10
3.2.2 SOCKET 建立连接过程...............................................................................................11
3.2.3 传输文件过程................................................................................................................12
3.2.4 远程控制过程................................................................................................................13
3.3 具体实现部分...................................................................................................................14
3.3.1 实现基本聊天的功能....................................................................................................14
3.3.2 实现传输文件的功能....................................................................................................20
3.3.3 截图................................................................................................................................22
3.3.4 语音通信........................................................................................................................23
3.3.5 远程控制........................................................................................................................24
第四章 存在的问题及解决办法..........................................................................................29
第五章 后记...........................................................................................................................31
第六章 致 谢.........................................................................................................................32
参考文献................................................................................................................................32
第一章 绪论
1.1 课题的主要内容和国内外发展方向
P2P 可以理解为"伙伴对伙伴"的意思。目前人们认为其在加强网络上
人的交流、文件交换、分布计算等方面大有前途。2002 年,尼古拉斯·曾
斯特姆(Niklas Zennstrom)把 P2P 音乐下载软件 KaZaA 买给一家小公
司时,得到了 50 万美元;2005 年,他把 P2P 通信软件 Skype 出售给
eBay 时,赚到了 21 亿美金。三年前,因为 P2P 音乐下载,他和创业伙
伴面临着来自美国唱片工业协会的诉讼威胁;三年后,P2P 支撑的互联网
通信已经成为市场的宠儿。
P2P 使得一个用户可以直接连接到其它用户的计算机,并交换文件,
而不是像过去那样连接到服务器去浏览与下载。P2P 另一个重要特点是改
变互联网现在的以大网站为中心的状态,重返"非中心化",并把权力交还
给用户。
P2P 看起来似乎很新,但是正如 B2C、B2B 是将现实世界中很平常的
东西移植到互联网上一样,P2P 并不是什么新东西。在现实生活中我们每
天都按照 P2P 模式面对面地或者通过电话交流和沟通。即使从网络看 ,
P2P 也不是新概念,P2P 是互联网整体架构的基础。互联网最基本的协议
TCP/IP 并没有客户端和服务器的概念,所有的设备都是通讯的平等的一端。
在十年之前,所有的互联网上的系统都同时具有服务器和客户端的功能。
当然,后来发展的那些架构在 TCP/IP 之上的软件的确采用了客户机/服务
器的结构:浏览器和 Web 服务器,邮件客户端和邮件服务器。但是,对
于服务器来说,它们之间仍然是对等联网的。以 email 为例,互联网上并
没有一个巨大的、唯一的邮件服务器来处理所有的 email,而是对等联网
的邮件服务器相互协作把 email 传送到相应的服务器上去。另外用户之间
email 则一直对等的联络渠道。但是过去的 5 年里,互联网的发展至少从
表面上远离了 P2P,互联网上绝大部分的节点也不能和其它节点直接地交
流。
今天,P2P 再一次被关注主要是由 Napster 以及 ICQ 类软件的出现,
虽然在 Napster 之前 P2P 方式的研究也从未停止。Napster 正是唤醒了
深藏在互联网背后的对等联网。Napster 的文件共享功能在局域网中共享
目录也是再平常不过的事情。但是 Napster 的成功促使人们认识到把这
种"对等联网"拓展到整个互联网范围的可能性。当然,在许多人的眼中,
Napster 并不是纯粹的 P2P,它仍然需要一个处于中心协调机制。P2P 引
导网络计算模式从集中式向分布式偏移,也就是说网络应用的核心从中央
服务器向网络边缘的终端设备扩散:服务器到服务器、服务器到 PC 机、
PC 机到 PC 机,PC 机到 WAP 手机……所有网络节点上的设备都可以建立
P2P 对话。这使人们在 Internet 上的共享行为被提到了一个更高的层次,
使人们以更主动深刻的方式参与到网络中去,正如 I2(第二代互联网:简
剩余36页未读,继续阅读
资源评论
- zim3oo2015-06-30使用c++编写的,里面内容很清晰,但是没有源代码。
qilihack
- 粉丝: 0
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功