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













