微信小程序> 利用TCP和UDP协议,实现基于Socket的小聊天程序(初级版)

利用TCP和UDP协议,实现基于Socket的小聊天程序(初级版)

浏览量:2738 时间: 来源:孔令宽

 

TCP

TCP (Transmission Control Protocol)属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,TCP支持的应用协议主要有:Telnet、FTP、SMTP等

TCP是面向对象的连接,是安全可靠的,是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我 们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据, 可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候 发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发 送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。 

 

首先我们来看看用TCP实现聊天程序

实现聊天程序我们需要一个服务端一个客户端来模拟实现,我们首先来建立服务器端,直接贴代码,如下:

 接下来运行客户端程序,客户端已开启就会连上服务器端,并接受到服务器发送过来的数据,运行效果如图:

 

此时,服务器端也应该接受到了来自客户端的数据,查看,果然收到了数据,如图:

 

至此,一个基于TCP的Socket的简单通信就完成了,,,,下面我们要开看看,用UDP同样来实现这个效果。。。

 

 UDP

 

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是 一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,与TCP不同的是,UDP是面向无连接的,它没有TCP传输前的“三次握手”的机制,是一种不可靠的传输机制。。

我们再来看看用UDP实现小聊天程序吧,,, 

同TCP一样,UDP同样需要一个服务器端和一个客户端来模拟对话,我们就用两个控制台应用程序实现,首先我们来搭建服务器端,贴上代码:

我们看到【UDP Server Is Ok】和IP,Port,证明此时UDP服务器端已成功开启了,,,

接下来开启客户端:


客户端开启成功,提示按任意键开始发送数据。。

接下来我们在客户端连续给服务器发送三条消息

客户端:

服务器端:


接下来我们在客户端输入“exit”请求停止通信,效果:

 输入"exit“ 之后,客户端就提示 "Stopping Client”,这样就停止通信了,,,

 

哈哈,,就这样,通过TCP和UDP实现通信聊天程序就完成了,,当然这个是最基础的通信例子,,在下一篇博客中将用窗体程序和多线程来实现聊天程序,尽请关注,,,,

 

这里附上小Demo的源代码:

/Files/holyknight-zld/SocketDemo/SocketDemo.rar

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎