第一章。
1、套接字。
3种:(1)流式套接字(sock_stream):实现面向连接的tcp通信,无消息边界。
(2)数据报套接字(sock_dgram):实现无连接的udp通信。
(3)原始套接字(sock_raw):实现ip数据包通信。
2、ipv4和ipv6的区别。
1)ipv4:由4个字节(十进制表示)组成的二进制值进行识别,中间用圆点分开,这种方法叫做点分十进制表示法。
2)ipv6:每个ip地址有16个字节(128位二进制数),其完整格式用8段16进制表示,各段之间用冒号分隔。
3)可用端口地址的范围是十进制的0~65535。
3、网络进程地址使用二元组(ip地址、端口号)表示。
4、命名空间四大类。
1)ipaddress类。
2)try获取ipaddress实例
ipaddress ip = 143.24.20.36");
3)ipaddress ip = 1v6地址 0:0:0:0:0:0:0:1简写为:1
if ( "这是ipv6地址");
4)判断v6和 v4地址。
ipaddress[ ]ips =
for (int i=0; i < i++)
表示此ip为ipv4,表示此地址为ipv6类型。
if (ips[i].addressfamily ==
2)ipendpoint类。
public ipendpoint(ipaddress address, int port);
ipendpoint iep = new ipendpoint(localaddress, 65000);
3)iphostentry类该类一般和dns类一起使用。
常用属性。addresslist属性获取或设置与主机关联的ip地址列表(包括ipv4和ipv6)
hostname属性包含了指定主机的主机名。
/ 获取搜狐服务器的所有ip地址。
ipaddress ips =
4)dns类。
1)gethostaddresses方法。
利用gethostaddresses方法可以获取指定主机的ip地址,该方法返回一个ipaddress类型的数组。
方法原型为。
public static ipaddress gethostaddresses(string hostname /address);
参数中的hostnameoraddress表示要解析的主机名或ip地址。
例如:ipaddress ips =
若hostnameoraddress是ip地址,则直接返回此地址;
若hostnameoraddress是空字符串,则返回所有ipv4和ipv6地址。
例如:ipaddress ips = 获取本机的所有ip地址。
2)gethostentry方法。
可返回一个iphostentry实例,用于在dns服务器中查询与某个主机名或ip地址关联的ip地址列表。
public static iphostentry gethostentry (string hostname / address)
参数中的hostname / address表示要解析的主机名或ip地址。
当参数为空字符串时,返回本地主机的iphostentry实例。
例如:iphostentry host =
var ipaddresses = 获取本机所有ip地址。
string name = 获取本机主机名。
3)gethostname方法。
string hostname = 获取本机主机名。
1)引用命名空间。
private void button1_click(object sender, eventargs e)
string hostname =
//根据主机名或域名获得iphostentry实例。
iphostentry ipinfohostname);
//把ip地址添加到listbox1中。
foreachip in
//显示主机名。
using
5、tcp/ip协议栈p19
6、socket类的构造函数为:
public socket(
addressfamily addressfamily, /网络类型
sockettype sockettype套接字类型
protocoltype protocoltype使用的协议
第二章。1、委托:是一种数据类型,是面向对象的,类型安全的和保险的,是引用类型,是一种特殊的类。
过程:先定义,后声明,接着实例化,然后作为参数传递给方法,最后才能使用。
目的:动态调用方法。
2、(1)定义委托使用关键字delegate:
delegate void somedelegate(type1 para1,type2 para2,…,typen paran);
2)声明委托:
somedelegate d;
3)接着实例化:
d = new somedelegate(
4)然后用作某方法的参数:
somemethod(d);
4)最后在此方法的实现**中使用:
private void somemethod(somedelegate somedelegate)
5)(前后参数一致)方法instancemethod的定义:
private void instancemethod(type1 para1,type2 para2,…,typen paran)
3、线程的创建(两种方法)
thread类(using 接收一个threadstart委托或parameterizedthreadstart委托的构造函数,该委托包装了调用start方法时由新线程调用的方法,示例**如下。
thread thread = new thread(new threadstart(method));创建线程。
启动线程。thread thread = new thread(new parameterizedthreadstart(method));创建线程。
启动线程并传参数3
方法**,基于委托,一般用于跨线程访问windows窗体控件对象,方法名以callback结尾,invoke方法触发。
C语言程序设计期末重点程序设计复习
1 将华氏温度转化为摄氏温度和绝对温度。include int main double f,c,k printf 华氏温度为 scanf lf f c 5.0 9 f 32 k 273.16 c printf c fk f c,k return 0 2 将大写字母转为小写字母。include int...
C程序设计期末复习
c 最大的特点是不允许直接操作内存,去掉了指针操作。c 是彻底的面向对象语言 特征 封装 继承 多态 c 的优点 语法简洁 彻底的面向对象设计 与web应用紧密结合 强大的安全机制 完善的异常处理机制 灵活的版本处理技术 兼容性。net可以实现多种应用 控制台应用程序 windows form 程序...
VB程序设计期末复习
vb 程序设计期末复习题。1.在vb 6.0中,变量名最长可达个字符。答案 255 解析 规定 2.男性 sex 年龄 age 在18 20岁之间,身高 size 在1.65米以上,列出逻辑表达式。答案 sex and age 18 and age 20 and size 1.65 解析 规定 3....