C#.net同步异步SOCKET通讯和多线程总结(4)

来源:未知 责任编辑:责任编辑 发表时间:2014-01-06 18:18 点击:

       地址:网络通信中的两台机器,可以不再同一个网络,可能间隔(网关,网桥,路由器等),所以可以分为三层寻址

机器在不同的网络则有该网络的特定id

同一个网络中的机器应该有唯一的机器id

一台机器内的进程应该有自己的唯一id

通常主机地址=网络ID+主机ID  tcp/ip中使用16位端口号来表示进程。

网络字节顺序,高价先存,tcp和udp都使用16或32整数位的高价存储,在协议的头文件中。

半相关:在网络中一个进程为协议+本地地址+端口号=三元组,也叫半相关,表示半部分。

全相关:两台机器之间通信需要使用相同协议

              协议+本地地址+本地端口号+远程地址+远程端口号 五元组 全相关。

顺序:两个连续的报文在网络中可能不会通过相同的路径到达,所以接收的顺序会和发送的顺序不一致。顺序是接收顺序与发送顺序一致。Tcp/ip提供该功能。

差错控制:检查数据差错:检查和CheckSum机制 检查连接差错:双方确认应答机制。

流控制:双方传输数据过程中,保证数据传输速率的机制,保证数据不丢失。

字节流:把传输中的报文当作一个字节序列,不提供任何数据边界。

全双工/半双工:两个方向发送或一个方向发送

缓存/带外数据:字节流服务中,没有报文边界,可以同一时刻读取任意长度的数据。为保证传输正确或流协议控制,需要使用缓存,交互型的应用程序禁用缓存。

数据传送中,希望不通过常规传输方式传送给用户以便及时处理的某一类信息(unix系统的中断键delete,Control-c)、终端流控制符Control-s、Control-q)为带外数据。

客户/服务器模式主动请求方式:

1.       打开通信通道,通知本地主机,在某一个公认地址上接收客户请求

2.       等待客户请求到达端口

3.       接收到重复服务请求,处理请求发送应答信号。接收到并发服务请求。要激活一个新进程处理客户请求,unix系统fork、exec,新进程处理客户请求,不需要对其他请求作出应答,服务完成后,关闭此进程与客户的通信链路。终止

4.       返回第二步,等待另一个客户请求。

5.       关闭服务端

客户方:

1.       打开一通信通道,并连接到服务器所在主机的特定端口。

2.       向服务器发送服务请求报文,等待并接收应答;继续提出请求…….

3.       请求结束以后关闭通信通道并终止。

1.       客户与服务器进程的作用非对称,编码不同

2.       服务进程先于客户请求而启动,系统运行,服务进程一致存在,直到正常退出或强迫退出

套接字类型:

TCP/IP的socket

Sock_stream可靠的面对连接数据传输,无差错、无重复发送,安照顺序发送接收,内设流量控制,避免数据流超限,数据为字节流,无长度限制,ftp流套接字。

Sock_DGRAM 无连接的服务,数据包以独立包的形式发送,不提供无措保证,数据可能丢失重复,发送接收的顺序混乱,网络文件系统nfs使用数据报式套接字。

Sock_Ram 接口允许较底层协议,IP,ICMP直接访问,检查新的协议实现或访问现有服务中配置的新设备。

服务端:

using System.Net;

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • asp.net 设置GridView的选中行的实现代码
  • C#高级编程:数据库连接[1]
  • 经典C++程序1
  • IIS 自动回收导致后台定时器失效的问题解决
  • ASP.NET GridView列表代码示例
  • Asp.net MVC源码分析--Action Filter的链式调用
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1