• c# 解决Socket问题——由于目标机器积极拒绝,无法连接


    关于单机出现这种问题不多赘述,主要阐述服务机和客户机出现这种问题的解决办法。

    1.检查防火墙

    这种问题出现的最多,特别是你的服务机还是买的各家的云产品,比如阿里云就是到防火墙中添加出入站规则,Azure则是有个对应的出入站配置。将你的TCP和UDP对应使用的端口打开。如果觉得麻烦可以将1—65535端口都打开这里特别说下Azure会定期检查你的服务机的不安全行为,可能回擅自将你打开所有端口的配置删除。具体操作不赘述,网上一大堆添加防火墙规则的教程。

    2.检查服务机端口是否被占用。(意义不大)

    第二种问题的几率很小,因为你的服务端程序起来的时候如果端口被占用或直接报错。所以如果起来,但是没报错,基本不会是端口占用问题,不过以防万一可以打开cmd,使用"netstat -an"命令查看活动的端口号,看看自己的服务器端口是否正在被监听。

    3.套接字绑定ip问题

    目前网上大多数demo的写法都是绑定的"127.0.0.1"这是非常不正规的写法,因为是大多都是单机demo,不会出现问题,但是一旦分开就暴露出来了,所以正规的写法应该"你的Socket套接字对象.Bind(new IPEndPoint(IPAddress.Any, port));"

    将127.0.0.1改成IPAddress.Any则问题解决。

  • 相关阅读:
    【足迹C++primer】32、定制操作_2
    pom文件miss artifact com.sun:tools:jar:1.5.0:system问题
    cents上运行wget报错:unable to resolve host address
    怎样定义函数模板
    06006_redis数据存储类型——String
    雷林鹏分享:C# 类型转换
    雷林鹏分享:C# 运算符
    雷林鹏分享:C# 循环
    雷林鹏分享:C# 判断
    雷林鹏分享:C# 方法
  • 原文地址:https://www.cnblogs.com/qwqwQAQ/p/11621993.html
Copyright © 2020-2023  润新知