lantionzy

coding
posts - 10, comments - 39, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
  对于聊天程序来说,即使丢失一些数据,也不会影响信息的交流,可以根据上下文的情况,知道对方所要表达的意思,或者根据对方的信息,重新发送我们所说的话。对于TCP来说,在通信前,需要经过三步握手协议以建立连接,而建立过程往往是比较消耗时间的。建立连接后,在聊天过程中,可能经过好长一段时间,双方才会说一句话,那么连接应该保持还是应先断开,等对方说话时再建立呢?也就是说,TCP协议的面向连接、数据确认和重传机制将会影响聊天的效率。所以对于聊天类的软件来说,通常都采用基于UDP的方式来实现。其特点就是不需要建立连接,也没有数据确认和重传机制,因此适时性较高。
   本示例的基本实现过程是:客户端通过键盘输入数据,数据被发送到服务器。后者接收到数据后,需要进行判断,如果发来的数据串为“quit”,表明对方向退出聊天过程,于是服务器端也发送字符串“quit”,聊天过程终止;否则将接收到的信息和对方的IP地址进行格式化后,在屏幕上输出。同样在客户端也需要进行相应的判断和输出。
   首先编写服务器端程序,实现代码如下:
Chat Server

   下面编写聊天客户端程序,实现代码如:
Chat Client

   这样我们就实现了一个非常简单的基于UDP的网络聊天程序。

剖析网络编程(1)-- 基于TCP的的网络应用程序
剖析网络编程(2)-- 基于UDP的的网络应用程序
剖析网络编程(3)-- 基于TCP/UDP网络编程应注意的几个地方

转到博客首页查看更多随笔

Feedback

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2009-10-20 19:45 by 欲三更
给楼主提个建议: 这样的文章可能对写作者来说意义和乐趣都很大, 但是作为一个读者, 我实在感觉不出来"阅读的快感".

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2009-10-21 09:15 by 幽灵
@欲三更
既然对写作者来说意义和乐趣都很大,已经很不错了。不同的文章适合不同的人看,也许对有些读者来说这个是有用的。能写出来就不是坏事,哪个牛人不是一步步走过来的?

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2009-10-21 09:18 by 侠客西风
@幽灵
牛人是一步一步走过来的,说的好啊,可惜我还是个菜鸟,刚起步,还在一步一步的走,什么时候能是个牛人呢............

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2009-10-21 09:40 by lantionzy
@欲三更
这位大哥,你一定是个牛人,我的文章水平太低,以后多向你学习。

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2009-10-21 09:41 by lantionzy
@侠客西风
我也是个菜鸟,也正在一步步走。慢慢积累吧,网上牛人多,资源也多,加油!

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2009-10-22 20:17 by swan
blog是什么意思? 就是为了让别人有“阅读的快感”的? 拿这个来说事,简直本末倒置。

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2009-10-26 11:25 by 乱78糟
以前也做过一个TCP+UDP带注册登录,在线用户实时更新,消息,文件传送的CMD程序,所有一切都是命令,好怀念啊

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2009-10-26 15:07 by 欣萌
本来是来看文章的。
看到大家说这个问题,我也说两句。既然写成Blog发表出来,就是share啦。既然要share 为什么不写的更可读呢。

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2009-10-26 15:11 by 欣萌
看了一遍 觉得LZ的程序真的不太需要解释了。

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2009-10-28 14:19 by coloriy
楼主文章,收藏了

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2011-01-11 08:05 by 666
好吧,我承认我受益匪浅

# re: 剖析网络编程(4)-- 基于UDP的简单聊天程序  回复  更多评论   

2015-12-07 12:58 by fcx1572
@欲三更
尼玛,这不是孙鑫的那本书上的内容吗,不过我也才看到,正在测试

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理