VC++实现基于TCP的网络聊天室遇到的问题

孙鑫写的“VC++深入详解”这本书里,有个聊天室的程序例程,是基于UDP的,这个例程是不区分什么服务端和客户端的。我想写一个基于TCP的聊天室,也不区分服务器端和客户端,... 孙鑫写的“VC++深入详解”这本书里,有个聊天室的程序例程,是基于UDP的,这个例程是不区分什么服务端和客户端的。我想写一个基于TCP的聊天室,也不区分服务器端和客户端,就写一个程序,两端都能用,能实现吗? 展开
 我来答
grf123
2014-06-04 · TA获得超过538个赞
知道小有建树答主
回答量:455
采纳率:80%
帮助的人:253万
展开全部
TCP和UDP,一个是有连接通讯,一个是无连接通讯,这点要理解。
TCP是基于连接的协议。必须要一个服务端一个客户端。而且服务端必须要listen,才能传输数据。

TCP和UDP的主要区别是,TCP传输必须要先建立连接,再传输数据。而UDP,即使不建立连接,一样可以传输数据。只不过发出去的数据,目的地收不到罢了。所以你的想法是不能实现的。TCP一定有服务端和客户端之分。服务端监听端口,客户端在发送消息之前,先与服务端建立连接,服务端accept之后,才能传输数据。
而UDP是随便什么端,只把一组数据和他的目标IP地址扔到网络上,传输完全依赖路由器。如果UDP两端同时打开就正常通信,如果发端发送数据,而服务端没有监听,那这些数据就过去了,收不到。

有一本原理性的书《计算机网络原理》,讲的比较通透。
正义Eh
2014-06-04 · TA获得超过214个赞
知道答主
回答量:53
采纳率:0%
帮助的人:41.3万
展开全部
能啊,再往后看那本书里面有啊。
更多追问追答
追问
你现在有那本书吗?能告诉我大概的位置吗?我找到的他在书里使用MFC建立的聊天室都是基于UDP的啊~~
追答
在第十五章的多线程的第六节,你先往后看,先了解多线程,编写聊天软件最好用到多线程,一个线程等待发送,一个线程等待接收。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
束骥兆山雁
2019-02-02 · TA获得超过4137个赞
知道大有可为答主
回答量:3196
采纳率:28%
帮助的人:471万
展开全部
你可以看看基于基于c++的mfc的socket设计理念,这样开发聊天室比较高效。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式