zoukankan      html  css  js  c++  java
  • C# socket编程第一篇

        最近做一项目,有用到socket通信,因为以前没写过通信,所以这次也是一边写,一边学。在这把学习的过程记录下来,方便其他的园友学习分享。因为本次我选择的是SOCKET+UDP,所以会以UDP来讲解,同时demo也会是udp的,不过tcp的demo到时也会贴出来。

     先来了解下什么是SOCKET

    • 所谓socket通常也称作“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。
    • 在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务
    • Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。

    SOKCET的介绍其实很多,有兴趣的可以去多了解下,socket在实现通信的时候用到的协议有TCP和UDP协议。既然有两个协议,那么该怎么选择呢?简单点说。UDP处理的细节比TCP少。UDP不能保证消息被传送到(它也报告消息没有传送到)目的地。UDP也不保证数据包的传送顺序。UDP把数据发出去后只能希望它能够抵达目的地。

     TCP优缺点:

      优点:

      1.TCP提供以认可的方式显式地创建和终止连接。

      2.TCP保证可靠的、顺序的(数据包以发送的顺序接收)以及不会重复的数据传输。

      3.TCP处理流控制。

      4.允许数据优先

      5.如果数据没有传送到,则TCP套接口返回一个出错状态条件。

      6.TCP通过保持连续并将数据块分成更小的分片来处理大数据块。—无需程序员知道

      缺点: TCP在转移数据时必须创建(并保持)一个连接。这个连接给通信进程增加了开销,让它比UDP速度要慢。

      UDP优缺点:

      1.UDP不要求保持一个连接

      2.UDP没有因接收方认可收到数据包(或者当数据包没有正确抵达而自动重传)而带来的开销。

      3.设计UDP的目的是用于短应用和控制消息

      4.在一个数据包连接一个数据包的基础上,UDP要求的网络带宽比TDP更小。

    准备工作基本做完了,下面要开始进入到程序的编写阶段

  • 相关阅读:
    day16作业 后台管理
    华为园区网实验
    静态路由与思科的区别
    JUnit 两日游
    SQL语句学习积累·数据的操作
    僵固式思维 OR 成长式思维
    压测噩梦后的小感想
    跌跌撞撞的三年
    Linux命令累积
    LoadRunner 学习(基础一)
  • 原文地址:https://www.cnblogs.com/_fyz/p/2037743.html
Copyright © 2011-2022 走看看