码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2019-10-04 14:55:07      阅读:374      评论:0      收藏:0      [点我收藏+]

标签:服务器   ipa   ipaddr   目标   demo   add   被占用   网上   端口   

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

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# 解决Socket问题——由于目标机器积极拒绝,无法连接

标签:服务器   ipa   ipaddr   目标   demo   add   被占用   网上   端口   

原文地址:https://www.cnblogs.com/qwqwQAQ/p/11621993.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!