Socket网络编程—简单聊天软件--1、什么是Socket及通讯软件设计思路

.Net平台Socket网络编程:Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。

Socket就像现实生活中的电话,人与人之间可以通过电话与对方通信,那么应用程序就通过Socket来进行通信。我们要通过电话联系上对方必须得满足三个要求:1,双方都有电话;2,要联系的一方必须知道对方的电话号码;3,双方都必须连接上总服务器;同样的,两个应用程序之间要实现通信也必须满足3个类似要求:1,双方都要有用于通信的Socket2,要请求通信的应用程序必须知道对方应用程序的IP地址及端口号;3,双方应用程序必须都连接上服务器。

下面图片是Socket的服务器/客户端的应用模式:

Socket网络编程—简单聊天软件--1、什么是Socket及通讯软件设计思路_第1张图片

服务器至少要有两个Socket,一个监听Socket,其余的为通信Socket,监听的Socket只是用来监听客户端发来的要求接入请求,一旦接收到客户端发来的接入请求就创建一个相应的通信Socket用于跟该接入的客户端进行通信。

客户端至少需要一个Socket作为通信Socket,用于与服务器进行通信。

这里举一个通俗易懂的例子来理解通信Socket与监听Socket。假设在一个大学里有一栋女生宿舍,将这栋宿舍看做一个服务器,里面的宿管阿姨就相当于监听Socket,宿舍里居住的女生就是通信Socket。这时候外面一个男生(客户端的通信Socket)要求宿舍中某个女生下来聊天,这个时候负责监听的Socket宿管阿姨就接收到了你的要求,就去把你要聊天的女生叫出来跟你聊天。宿管阿姨只负责叫人,不负责跟你聊天,女生只负责跟你聊天,不会去替你叫其他女生。

========================================================

理解了什么是Socket后,我在这里利用Socket的服务器/客户端的应用模式写一个简单的通讯软件。下面是设计思路:

Socket网络编程—简单聊天软件--1、什么是Socket及通讯软件设计思路_第2张图片

==================================================================欢迎转载,转载请注明出处==========================================

你可能感兴趣的:(Socket网络编程—简单聊天软件--1、什么是Socket及通讯软件设计思路)