黑马程序员<.net学习---Socket套接字>

----------------------  ASP.Net+Android+IO开发S .Net培训 、期待与您交流! ----------------------

今日学习内容:Socket套接字

        socket的概念:

              socket的英文原义是“孔”或“插座”。作为进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句 柄。 

             socket非常类似于电话插座。以一个国家级电话网为例,电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。假如对方在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向socket发送数据和从socket接收数据。通话结束后,一方挂起电话机相当于关闭socket,撤消连接。
   

            在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应的服务(应用程序)。
例如:http 使用80端口  ftp使用21端口,smtp使用23端口。

         类型:

               流式socket(STREAM):是一种面向连接的Socket,针对于面向连接的TCp服务应用,安全,但是效率低;

              数据报式Socket(DATADGRAM):是一种无线的Socket,对应于无线连接的UDP服务应用,不安全(丢失,顺序混乱,在接受端要分析重排及要求重发),但效率高!

      Socket一般应用模式(服务器和客户端)    

            1.服务端welcoming socket 开始坚挺端口(负责监听客户端连接信息)
            2.客户端client socket 连接服务器指定端口(负责接受和发送服务端消息

            3.服务端welocoming socket 监听到客户端连接,创建connection socket.(负责和客户端通信)。

           部分代码:

            //创建 服务端  负责监听的套接字 参数(使用ip4寻址协议,使用流式连接,使用Tcp协议传输数据)
            Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
            //获取文本框中的IP地址对象
            IPAddress ipAddress = IPAddress.Parse(ip.Text.Trim());
            //创建IP和网络端口的网络节点对象
            IPEndPoint ipEndPoint = new IPEndPoint(ipAddress,int.Parse(duankou.Text));
            //将负责监听的套接字 绑定到唯一的端口上
            socket.Bind(ipEndPoint);
            //设置监听队列的长度
            socket.Listen(10);
            //创建一个新的通信的套接字
            Socket socketconnection=socket.Accept();
未完待续。。。


---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值