一、网络编程相关概念
1、 互联网通过ip定位电脑
2、 在电脑中通过port定位程序
3、 程序和程序之间通过协议定义通信数据格式
二、Socket相关概念
1、 ip地址
1) 每台联网的电脑都有一个唯一的ip地址。
2) 长度32位,分为4段,每段8位,用十进制表示,每段范围0~255.
3) 特殊ip:127.0.0.1用户本地网卡测试。
2、 端口
1) 网络中有很多电脑,这些电脑一般运行了多个网络程序,每种网络程序都打开一个Socket,并绑定到一个端口上,不同的端口对应不同的网络程序。
2) 常用端口,21 ftp, 25 smtp,110 pop3,80 http,443 https
3、 Socket通俗理解:人和人通过电话来通讯,电话号码就相当于是ip地址,人就是程序,套接字就是程序间的电话,程序和程序之间通讯,需要定义通讯协议,就像两个人打电话要先定义好彼此说的语言,这样才能正常通讯。
4、 Socket流式(服务端和客户端)
1) 服务器welcoming socket开始监听端口(负责监听客户端的连接信息)
2) 客户端client socket连接服务端制定端口(负责接收和发送服务端信息)
3) 服务端welcoming socket监听到客户端连接,创建connection socket(负责和客户端通讯)
Demo1
服务端代码:
委托类DGCloseConn
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace C03聊天室服务端 7 { 8 public delegate void DGCloseConn(string endpoint); 9 }