iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >C#以太网Sockets服务器设计实现
  • 106
分享到

C#以太网Sockets服务器设计实现

C#以太网Sockets服务器C#以太网Sockets 2023-02-06 15:02:35 106人浏览 八月长安
摘要

目录【1】引用命名空间:【2】字段: 声明对象【3】初始化:参数【1】引用命名空间: //System.net.Sockets using System.Net.Sockets; /

【1】引用命名空间:

//System.net.Sockets
using System.Net.Sockets; // 以太网对象
 
// 字段位置
private Socket socket业务;  //对象既可以当服务器,又可以当客户端
tcpListener tcpListener;   //服务器对象
TcpClient tcpClient;       //客户端对象

 Socket 构造函数:

public Socket(SocketInfORMation 套接字结构体);
public Socket(SocketType 插座类型, ProtocolType 协议类型);
public Socket(AddressFamily 工作组, SocketType 插座类型, ProtocolType 协议类型);

参数介绍:

AddressFamily.InterNetwork=2    用 IPv4
 public enum AddressFamily
        {
            Unknown = -1,       //未知的地址族。
            Unspecified = 0,    //未指定的地址族。
            Unix = 1,           //Unix 本地到主机地址。
            InterNetwork = 2,   //IP 版本 4 的地址。
            ImpLink = 3,        //ARPANET IMP 地址。
            Pup = 4,            //PUP 协议的地址。
            Chaos = 5,          //MIT CHAOS 协议的地址。
            NS = 6,             //IPX 或 SPX 地址。
            Ipx = 6,            //Xerox NS 协议的地址。
            Iso = 7,            //ISO 协议的地址。
            Osi = 7,            //OSI 协议的地址。
            Ecma = 8,           //欧洲计算机制造商协会 (ECMA) 地址。
            DataKit = 9,        //Datakit 协议的地址。
            Ccitt = 10,         //CCITT 协议(如 X.25)的地址。
            Sna = 11,           //IBM SNA 地址。
            DecNet = 12,        //DECnet 地址。
            DataLink = 13,      //直接数据链接接口地址。
            Lat = 14,           //LAT 地址。
            HyperChannel = 0xF, //NSC Hyperchannel 地址。
            AppleTalk = 0x10,   //AppleTalk 地址。苹果
            NetBiOS = 17,       //NetBios 地址。
            VoiceView = 18,     //VoiceView 地址。
            FireFox = 19,       //FireFox 地址。
            Banyan = 21,        //Banyan 地址。
            Atm = 22,           //本机 ATM 服务地址。
            InterNetworkV6 = 23,//IP 版本 6 的地址。
            Cluster = 24,       //Microsoft 群集产品的地址。
            Ieee12844 = 25,     //IEEE 1284.4 工作组地址。
            Irda = 26,          //IrDA 地址。
            NetworkDesigners = 28,//支持网络设计器 OSI 网关的协议的地址。
            Max = 29            //MAX 地址。
        }

 SocketType.Stream

public enum SocketType
    {
        Stream = 1,// Tcp  InterNetwork 地址族 //支持可靠、双向
        Dgram = 2, // Udp  InterNetwork 地址族。
        Raw = 3,
        Rdm = 4,
        Seqpacket = 5,
        Unknown = -1//指定未知的 Socket 类型。
    }

ProtocolType.Tcp

public enum ProtocolType
    {
        IP = 0,
        IPv6HopByHopOptions = 0,
        Icmp = 1,
        Igmp = 2,
        Ggp = 3,
        IPv4 = 4,
        Tcp = 6,
        Pup = 12,
        Udp = 17,
        Idp = 22,
        IPv6 = 41,
        IPv6RoutingHeader = 43,
        IPv6FragmentHeader = 44,
        IPSecEncapsulatingSecurityPayload = 50,
        IPSecAuthenticationHeader = 51,
        IcmpV6 = 58,
        IPv6NoNextHeader = 59,
        IPv6DestinationOptions = 60,
        ND = 77,
        Raw = 0xFF,
        Unspecified = 0,
        Ipx = 1000,
        Spx = 1256,
        SpxII = 1257,
        Unknown = -1
    }

【2】字段: 声明对象

//声明一个Socket对象
private Socket socketSever服务器; // 【1】Socket
 
// 工作组,套接字类型,协议类型
socketSever服务器 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

【3】初始化:参数

//设置 服务器ip
IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("192.168.0.7"), int.Parse(12345));
            try
            {
                socketSever服务器.Bind(ipe);// 【2】Bind 绑定本地ip
            }
            catch (Exception ex)
            {
                //写入日志
               MessageBox.Show("服务器开启失败:"+ex.Message);
                return;
            }
// 调用listen()函数监听,业务窗口(同时办理业务窗口数)// 同时占线数量
socketSever服务器.Listen(10);// 【3】Listen
 
Task.Run(new Action(() => //开线程,使主线程能退到ui层
         {
             客户登录业务(); // 【4】Accpet
         }));
 
按钮_启动服务.Enabled = false;
private void 客户登录业务()
        {
            while (true)
            {
                //等待客户
                Socket socketClient客户 = socketSever服务器.Accept();// 【4】Accpet
 
 
                //客户来了
                string client客户IP地址 = socketClient客户.RemoteEndPoint.ToString();
 
                客户电话簿.Add(client客户IP地址, socketClient客户);
 
                占线刷新(client客户IP地址, true);
 
                Task.Run(new Action(() => //第2队线程
                {
                   Receive客户经理(socketClient客户);
                }));
            }
        }
private void Receive客户经理(Socket socketClient)
        {
            while (true)
            {
                // 创建一个缓冲区
                byte[] buffer = new byte[1024 * 1024 * 10];
                int length = -1;
 
                // 客户ip
                string client = socketClient.RemoteEndPoint.ToString();
 
 
                // 等待客户发言
                try
                {
                    length = socketClient.Receive(buffer);
                }
                catch (Exception)
                {
                  // 下线了
                    占线刷新(client, false);
                    客户电话簿.Remove(client);
                    break;
                }
 
                if (length > 0)
                {// 委托呼叫
                   wt(client,Encoding.UFT8.GetString(buffer,0,length));
                     
                }
                else
                {
                 // 下线了
                    占线刷新(client, false);
                    客户电话簿.Remove(client);
                    break;
                }
            }
        }

使用以太网

注意:对象不包含0个参数

到此这篇关于C#以太网Sockets服务器设计实现的文章就介绍到这了,更多相关C#以太网Sockets服务器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#以太网Sockets服务器设计实现

本文链接: https://www.lsjlt.com/news/194359.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#以太网Sockets服务器设计实现
    目录【1】引用命名空间:【2】字段: 声明对象【3】初始化:参数【1】引用命名空间: //System.Net.Sockets using System.Net.Sockets; /...
    99+
    2023-02-06
    C#以太网Sockets服务器 C#以太网Sockets
  • C#以太网Sockets客户端设计实现
    目录【1】客户端对象【2】初始化【3】连接【4】收发【5】断开【1】客户端对象 using System.Net;// DNS_静态对象 using System.Net.Socke...
    99+
    2023-02-06
    C#以太网Sockets客户端 C#以太网Sockets
  • 从零开始 verilog 以太网交换机(二)MAC接收控制器的设计与实现
    从零开始 verilog 以太网交换机(二)MAC接收控制器的设计与实现 🔈声明: 😃博主主页:王_嘻嘻的CSDN主页 🧨 从零开始 veril...
    99+
    2023-09-09
    macos fpga开发
  • gRPC 服务器通过以太网的响应时间较长
    欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《gRPC 服务器通过以太网的响应时间较长》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关...
    99+
    2024-04-05
  • 哈工大计算机网络实验一-HTTP代理服务器的设计与实现
    一、代理服务器原理 当客户在浏览器中设置好Proxy Server后,你使用浏览器访问所有WWW站点的请求都不会直接发给目的主机,而是先发给代理服务器,代理服务器接受了客户的请求以后,由代理服务器向目的主机发出请求,并接受目的主机的数据,...
    99+
    2023-10-24
    计算机网络 http 服务器
  • 阿里云服务器禁用以太网恢复正常方法
    本文主要介绍了如何解决阿里云服务器禁用以太网的问题,帮助用户恢复正常的网络连接。 一、问题描述阿里云服务器在运行过程中,可能会因为各种原因禁用以太网,导致无法正常进行网络通信。如果遇到这种情况,需要采取相应的措施来恢复正常。二、原因分析阿里...
    99+
    2023-12-15
    阿里 以太网 恢复正常
  • 百亿流量微服务网关的设计与实现
    本文从百亿流量交易系统微服务网关(API Gateway)的现状和面临的问题出发,阐述微服务架构与 API 网关的关系,理顺流量网关与业务网关的脉络,分享API网关知识与经验。API网关概述“计算机科学领域的任何问题都可以通过增加一个间接的...
    99+
    2023-06-05
  • C#设计模式实现之迭代器模式
    目录前言:一、餐馆合并菜单 二、改进菜单实现 三、迭代器模式 总结前言: 迭代器模式平时用的不多,因为不管C#还是Java都已经帮我封装了,但是你是否知道平时经常在用的东西本质是怎么...
    99+
    2024-04-02
  • 云服务器可以做什么产品设计
    云服务器是一种虚拟化软件,通常可以提供以下产品设计: 负载均衡设计:云服务器可以通过负载均衡技术,将数据库或其他服务器请求分配给其他服务器处理,以确保系统的高可用性和负载平衡。 弹性伸缩设计:云服务器可以通过动态配置服务器的资源,使资源...
    99+
    2023-10-27
    做什么 产品设计 服务器
  • 云服务器怎么设置可以上网
    要设置云服务器可以上网,需要以下步骤:1. 为云服务器配置公网IP地址:在云服务提供商的管理控制台中,为云服务器分配一个公网IP地址...
    99+
    2023-09-16
    云服务器
  • 1.6.C++项目:仿muduo库实现并发服务器之channel模块的设计
    项目完整版在: 文章目录 一、channel模块:事件管理Channel类实现二、提供的功能三、实现思想(一)功能(二)意义(三)功能设计 四、代码(一)框架(二)完整 一、cha...
    99+
    2023-10-21
    服务器 c++ java
  • 云服务器网络搭建方案设计
    云服务器网络搭建方案设计是指将一台主机托管在云服务器上,通过云计算技术实现数据的异地存储、访问和处理的方案。下面将详细介绍如何利用云服务器搭建安全可靠的网络架构。 一、云计算技术特点 弹性云服务器:弹性云服务器可以根据用户的需求自动扩展...
    99+
    2023-10-26
    方案设计 服务器 网络
  • 云服务器设计实验报告
    以下是一个简单的服务器设计实验报告示例: 实验目的 本实验旨在测试Apache Tomcat服务器(Tomcat)是否适合用于Web开发。通过实验,用户可以熟悉Apache Tomcat的开发和部署流程,并掌握如何创建、配置和管理Web应...
    99+
    2023-10-26
    服务器 报告
  • 云服务器可以做什么产品设计工作
    云服务器的架构设计:云服务器采用分布式架构设计,由多个服务器组成,每个服务器都可以通过网络访问其他服务器,从而实现资源共享。云服务器可以采用Linux、Windows、MacOS等不同操作系统,以及多种硬件配置,如CPU、内存、磁盘等。 ...
    99+
    2023-10-28
    做什么 产品设计 服务器
  • PHP 微服务架构的设计与实现
    php 微服务架构遵循单一职责、松散耦合、可扩展性、容错性原则,通过案例示范创建用户管理微服务。微服务通常部署在 docker 或 kubernetes 中,监控性能、可用性、错误和依赖...
    99+
    2024-05-08
    php 微服务架构 docker 用户注册
  • TCP服务器的C#实现
    TCP实现类 internal class TcpServer { public Socket ServerSocket { get; set; } public D...
    99+
    2023-09-04
    tcp/ip 服务器 c#
  • 阿里云服务器设计方案实现高效、安全、稳定的云计算服务
    在数字化时代,云计算已经成为了企业高效运营、创新发展的重要手段。阿里云作为中国领先的云计算服务提供商,其服务器设计方案具有高效、安全、稳定的特点,能够满足企业不同场景下的需求。本篇文章将详细介绍阿里云服务器设计方案,帮助企业更好地理解和使用...
    99+
    2023-11-11
    高效 阿里 设计方案
  • 家政服务预约系统设计与实现
        项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于web网页的家政服务预约系统,整个网站项目使用了B/S架构,基于java的springboot框架下开发;管理员通过后台录入信息、管理信息,设置网站信息,管理会员信息...
    99+
    2023-10-07
    java spring boot 开发语言
  • 亚马逊服务器网络优化方案设计
    流量控制:为服务器分配流量以控制服务器性能。使用流量控制,可以确保只有必要的用户才能访问服务器,并限制不必要的流量。 带宽管理:通过使用带宽管理,可以确保在服务器上的每个请求都有足够的带宽,以便处理所有请求。这有助于避免因网络拥塞而导致服...
    99+
    2023-10-27
    亚马逊 方案设计 服务器
  • 云服务器网络搭建方案设计思路
    云服务器网络搭建方案的设计需要考虑到以下几个方面: 网络结构设计:需要确定一个合理的网络结构,确保在云服务器上的应用程序可以快速和稳定地访问互联网。可以考虑使用VLAN(虚拟私有网络)来划分不同的网络。 防火墙和网络安全:需要使用防火墙...
    99+
    2023-10-26
    方案设计 思路 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作