zoukankan      html  css  js  c++  java
  • 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则问题解决。

  • 相关阅读:
    bzoj2946 [Poi2000]公共串(SA,SAM)
    77 最长公共子序列
    C++ lower_bound 与 upper_bound 函数
    76 最长上升子序列
    75 寻找峰值
    C++标准输入问题
    74 第一个错误的代码版本
    73 前序遍历和中序遍历树构造二叉树
    72 中序遍历和后序遍历树构造二叉树
    71 二叉树的锯齿形层次遍历
  • 原文地址:https://www.cnblogs.com/qwqwQAQ/p/11621993.html
Copyright © 2011-2022 走看看