编写一个聊天程序(和很多人一样),我发现我希望能够使客户端自动连接到服务器.

但是,服务器的IP地址不会是永久的,因此我不能仅将其硬核到程序中

在TCP中,我正在寻找某种广播功能,该功能可使客户端知道服务器在哪里.

有任何想法吗?

编辑:应该说,这只会是一个LAN程序-没有外部连接

解决方法:

如果您正在谈论局域网中的聊天,并且由于某种原因而不想或不想使用DNS,则可以实现或找到UPnP使用的发现协议的实现. SSDP基于UDP广播. afaik不可能通过TCP进行多播,因为TCP需要会话.

如果要通过Internet使用聊天服务器,则只能使用DNS.寻找一个动态的dns提供程序(我使用selfhost.bz).然后,在C#中,您可以将主机名解析为IP地址,如其他答案所述.但是,如果您要连接的主机名足以将其传递给套接字,则:

socket.Connect("myhostname.selfhost.bz", ...

编辑:由于您说自己在局域网中,所以有关SSDP的更多详细信息.该协议比您实际需要做的更多.如果您想自己实现它,请不要完全坚持.只需让您的客户在指定端口上发送广播即可.一旦服务器接收到一条消息,它便会永久侦听该端口,并以预定义的消息进行应答.当客户端收到该答案时,它将知道发件人是有效的服务器.

标签:tcp,networking,ip,c

来源: https://codeday.me/bug/20191127/2075489.html

自动获取服务器,c#-自动获取服务器IP到客户端相关推荐

  1. centos7修改ip地址自动获取_南京课工场IT培训:如何搭建DHCP服务器及自动获取IP地址及相关操作...

    DHCP服务相关理论知识 DHCP服务分为以下三点, IP地址(例:192.168.1.0) 子网掩码(例:255.255.255.0) 网关 DHCP服务的好处: 减少管理员的工作量 避免输入错误的 ...

  2. mac系统访问群晖服务器地址,获取发现访问 U-NAS 系统管理中心 IP 地址方法

    摘要:方法一:系统自带显示系统开机运行后,在访问U-NAS管理中心界面会出现访问地址IP具体位置再在 To visit U-NAS Management Center: 的下方,红色边框区域内为U-N ...

  3. android dhcp 服务器,android 获取当前手机的 DHCP 信息ip,server 等操作实例教程

    android 获取当前手机的 DHCP 信息ip,server 等操作实例教程WifiManager wifiManager = (WifiManager) getSystemService(Con ...

  4. webserver获取http请求方的服务器ip_光大科技基础设施团队剖析HTTP协议

    /HTTP协议剖析/ 团队简介 我们是光大科技有限公司智能云计算部基础设施团队,致力于规划.设计.运维管理集团基础设施环境,保障集团基础设施环境稳定运行,我们团队拥有经验丰富的网络,应用交付,安全专家 ...

  5. 进虚拟ftp服务器跳网页,ftp服务器总是自动跳到网页

    ftp服务器总是自动跳到网页 内容精选 换一换 ENI负载均衡 ( ENI LoadBalancer )使用弹性负载均衡器直通容器,使部署在容器中的业务时延降低.性能无损耗.ELB实例创建出来后没法更 ...

  6. 云服务器会获取系统信息吗,国内云服务器会被监控吗

    国内云服务器会被监控吗 内容精选 换一换 将云服务器添加到监控表中.注册到监控表中的云服务会被ceilometer周期性采集监控数据,包括平台的版本.cpu信息.内存.网卡.磁盘.硬件平台等信息,这些 ...

  7. 服务器开设虚拟主机,服务器自动开设虚拟主机

    服务器自动开设虚拟主机 内容精选 换一换 Linux操作系统XEN实例变更为KVM实例前,必须已完成必要的驱动安装和配置.当您需要变更的Linux操作系统的XEN实例比较多时候,推荐您使用本节的批量自 ...

  8. vm设置虚拟服务器定时重启,vm服务器设置自动重启

    vm服务器设置自动重启 内容精选 换一换 云硬盘挂载至云服务器后,需要登录云服务器初始化云硬盘,即格式化云硬盘,之后云硬盘才可以正常使用.云耀云服务器磁盘初始化的操作方法与ECS相同,本节操作介绍使用 ...

  9. nginx负载均衡,服务器集群配置,服务器挂机自动切换

    1. 首先打开nginx/conf/nginx.conf修改如下配置 http {#在http中添加下面内容#隐藏 Nginx 的版本号,提高安全性. server_tokens off;#指令指定允 ...

  10. ipv6协议提供的服务器,ipv6地址获取协议

    ipv6地址获取协议 内容精选 换一换 IPv6的使用,可以有效弥补IPv4网络地址资源有限的问题.如果当前云服务器使用IPv4,那么启用IPv6后,云服务器可在双栈模式下运行,即云服务器可以拥有两个 ...

最新文章

  1. Swift中的问号?和感叹号!
  2. ​综述 | SLAM回环检测方法
  3. python教程书籍-推荐python机器学习实践的书籍?
  4. Manacher's algorithms(马拉车算法)最长回文子串
  5. “人机大战”捧红人工智能 新时代的HPC玩家需要什么能力?
  6. ML之DR之SVD:SVD算法相关论文、算法过程、代码实现、案例应用之详细攻略
  7. 数据库中DDL,DML,DCL
  8. Android复习15【动画:创建资源文件夹、创建动画资源文件、组合动画、属性动画、材料设计新特性】
  9. VHDL六层电梯控制器及仿真
  10. MongoDB数据库CXX Driver编译
  11. 电脑控制手机屏幕软件_手机屏幕如何投屏到电脑
  12. CommonJs、AMD 、CMD 前端开发模块化组合
  13. 图片文字识别 mysql_有道智云OCR图片识别文字+返回数据处理技巧(实现语言-按键精灵脚本请求识别+java服务端处理数据)...
  14. 应用计算机测定线性电阻伏安特性实验结论,线性电阻和非线性电阻伏安特性曲线测定实验报告(共8篇).docx...
  15. 亮度对比度色调饱和度最佳_数码教程丨如何仿电影胶片色调与质感?
  16. python随机抽号_使用python随机抽取评论roll枪
  17. 金融量化?金融市场?股票? 来,告诉你这些都是什么
  18. [转]MQ(ActiveMQ)原理及介绍
  19. 10分钟学计算机,电脑运行越来越慢?程序员大牛10分钟教你学会电脑瘦身
  20. 游戏开发者注意了,小心触犯任天堂的这些专利

热门文章

  1. 业界资讯: Flash Player Incubator 改进
  2. nacos心跳机制重复发送原理
  3. 解决Xshell连接linux失败的问题
  4. Java中涉及线程和并发相关的内容
  5. 发现《后端架构师技术图谱》
  6. LNMP环境下搭建wordpress
  7. Activiti(Flowable)流程克隆(运行时实例克隆)解决方案 一种订单制造中分裂与合并的核心技术实践...
  8. margin:0 auto和text-aglin:center的区别
  9. Windows下一个MySQL有些错误的解决方法
  10. Linux内核--网络栈实现分析(一)--网络栈初始化