基础大致分为四个方面,每次学习一个
一、TCP/IP概述
1. IP地址
A(0):1.0.0.0~126.0.0.0 //可用的A类网络有126个,每个网络能容纳1亿多个主机
B(10):128.0.0.0~191.255.255.255 //由2个字节的网络地址+2个字节的主机地址,可用B类网络16382个,每个最多6万台
C(110):192.0.0.0~223.255.255.255 //3字节网络地址+1字节主机地址,可用C类网络209万,每个网络254台主机
D(1110):用于多播
E(1111):保留
2. 端口
端口包括物理端口和逻辑端口。物理端口是用于连接物理设备之间的接口,逻辑端口是逻辑上用于区分服务的端口。TCP/IP协议中的端口就是逻辑端口,通过不同的逻辑端口来区分不同的服务。一个IP地址的端口通过16bit进行编号,最多可以有65536个端口。端口是通过端口号来标记的,端口号只有整数,范围是从0 ~65535。
端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。服务器是通过“IP地址+端口号”来区 分不同的服务的。
常见端口号: TCP端口:FTP(20)、Telnet(23)、SMTP(25)、HTTP(80)
UDP端口:DNS(53)、SNMP(161)
知名端口:范围0~1023,FTP,SMTP,HTTP,RPC(135)远程过程调用
动态端口:范围1024~65535,例如1256端口,就是分配给第一个向系统发出申请的程序,在关闭后就释放
二、网络编程中的常用类
1. IPAddress类
2. DNS类
3. IPHostEntry类
4. IPEndPoint类
三、套接字
1. 建立面向连接的套接字
2. 建立面向无连接的套接字
四、线程