这几天博主花了4天时间去学习,整理Socket通信。大致懂了一点,现在我来总结一下关于C#Socket通信的原理
首先我们要知道网络中的进程是如何进行通信的
在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址,协议,端口)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互。
什么是Socket? 通俗一点的说法
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。
Socket有关的函数:
socket()函数
int socket(int domain, int type, int protocol);
· domain:即协议域,又称为协议族(family)。常用的协议族有,AF_INET、