zoukankan      html  css  js  c++  java
  • C#网络编程

    TCP: 面向连接的传输协议
    全双工: A---B 可以互相传递数据
    点对点: 传输的数据不可能有多个接收方
    可靠的数据传输: 发送的数据是ABC,接受到的一定是ABC

    TCP 属于:传输层的协议

    套接字:
    应用程序通过套接字类获取到 输入和输出的数据.
    TcpClient:则用于接收和发送流数据
    TcpListener:用于接受连接请求

    总是服务端使用TcpListener类


    网络连天程序的三种模式
    1. 点对点,每一台计算机都是服务器
    2. A在服务器中知道了B, 就可以直接A -- B 的连接对话
    3. A -- 服务器 -- B


    漫长的编程操作
    IpAddress类
    IPAddress ip = IPAddress.Parse("192.168.0.1");

    IPEndPoint类(表示ip和端口号)
    IPEndPoint iep = new IPEndPoint(ip, 5666);

    Dns类
    1. 解析制定的域名
    GetHostName() 获取本机名
    GetHostEntry() 根据主机名,获取到ip对象

    Socket类: 封装了 连接,监听,接受的方法.

    TcpClient类(客户端)
    tcpClient.Connect(connIP, connPort); //连接指定网络端
    netWorkStream = tcpClient.GetStream(); //获取流

    TcpListener类(服务器)
    tcpListener.Start(); //开始监听
    client = tcpListener.AcceptTcpClient(); //中断进程

    NetWorkStream网络流
    //创建一个异步委托
    AsyncCallback callback = new AsyncCallback(ReadMessage);
    //当buffer读取完毕之后,就调用callback委托中的方法进行处理
    netWorkStream.BeginRead(buffer, 0, buffer.Length, callback, null);


    UPD编程简介:
    是一种"面向数据报"的"无连接协议":,提供的是"不一定可靠"的传输服务

    UDP 与 TCP的区别
    1. UDP可靠性不如TCP
    2. UDP不能保证有序传输

    UDP优势
    1. UDP速度比TCP快
    2. UDP可以一对多传输
    3. UDP有消息边界(有格式的)

    UdpClient类
    几种实例化方式:
    1. public UdpClient();
    2. public UdpClient(int port); 只需要发送数据报,(匿名发送) .对方无法判断发送方的端口
    3. public UdpClient(IPEndPoint localEp); 只接收数据报
    4. public UdpClient(string hostname, int port); 接收和发送,使用4,指定接收远程主机IP 和 port. 自动分配本机IP和 port


    1. 只需要发送数据报,(匿名发送) .对方无法判断发送方的端口
    使用2进行实例化

    2. 只接收数据报
    使用3

    3. 接收和发送
    使用4,指定接收远程主机IP 和 port. 自动分配本机IP和 port


    发送信息
    public int Send(byte[] butter,int length,IPEndPoint ipe);

    接收信息
    public byte [] Receive(ref IPEndPoint remoteEP)
    remoteEP 发送信息来的ip和端口号
    //创建IPEndPoint
    IPEndPoint remoteIPEndPoint new IPEndPoint(IPAddress.Any,0);
    IPAddress.Any 任意ip地址
    0 任意端口号

    UDP广播和组播:实现一对多的传输方式
    子网掩码 是IP 参照物.分网段用的!
    比如 192.168.0.1 和192.168.0.2

    1.子网掩码为 255.255.255.0
    那么192.168.0.X 在同一个网段,能互相访问
    2.希望掩码为 255.255.0.0
    那么 192.168.X.X在同一个网段,能互相访问

    IP地址分为两部分:
    网络标志部分
    主机标志部分


  • 相关阅读:
    JVM内存模型
    052-224(新增70题2018)
    052-223(新增70题2018)
    052-222(新增70题2018)
    052-221(新增70题2018)
    052-220(新增70题2018)
    052-219(新增70题2018)
    052-218(新增70题2018)
    052-217(新增70题2018)
    052-216(新增70题2018)
  • 原文地址:https://www.cnblogs.com/huangf714/p/5876078.html
Copyright © 2011-2022 走看看