最简单的Web服务器事例分析

来源:未知 责任编辑:责任编辑 发表时间:2014-05-10 12:25 点击:

本案例中应用到得一些类和方法先一一列出来
1.IPAddress类用来表示一个IP地址
  1.1 IPAddress.Parse("192.168.43.104") 将一串ip地址字符串转换为IP地址
  1.2 IPAddress.Loopback  获得本机回环地址 即:127.0.0.1
2.IPEndPoint类(端点) 说白了就是ip地址和端口的组合(IP:Point) 他能唯一确定网络中的一台电脑的某一个应用程序
  IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("192.168.43.104"), 8080); //创建了一个ip地址为192.168.43.104端口号位8080的网络端点

    2.1.1 Address 获取或设置终结点的 IP 地址   ex:endPoint.Address  //192.168.43.104
    2.1.2 AddressFamily 获得网络协议              ex:endPoint.AddressFamily  //http
    2.1.3 AddressPoint   获得端口号信息          ex:endPoint.Point   //8080


3.Socket类    位于System.Net.Socket命名空间中    其封装了Socket(套接字)的操作。
  3.1 Listen 设置基于连接通信的socket进入监听状态,并设置等待队列的长度。  ex:socket.Listen(10)  //只允许10个客户端同时发生请求
  3.2 Accept 等待一个新的连接,当新的连接到达的时候,返回一个针对新连接的Socket对象。即每个建立连接的客户端都对应有一个Socket对象在服务器端,客户端通过这个对象就可以和服务端进行连接通信了。    ex:   Socket client = socket.Accept();
  3.3 Receive 通过Socket接受字节数据,保存到一个字节数据中,返回一个int型的数据(实际接收的字节数)。
    ex://新建一个缓冲区
                byte[] buffer = new byte[2048];
                //接受数据
                int length = client.Receive(buffer,buffer.Length,SocketFlags.None);
  3.4 Send 故名思议 就是发送数据吧 没错  send通过Socket发送预先保存在字节数组中的数据。
下面是完整的事例代码:
 
 
//----------------------------------------------------------------------------------------
            IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("192.168.43.104"), 8080);
            //创建socket,使用ipv4地址,传输协议为tcp,双向、可靠、基于连接的字节流
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            //将其绑定到一个端点上
            socket.Bind(endPoint);
            //设置连接队列的长度
            socket.Listen(10);

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

推荐热点

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

豫ICP备11007008号-1