socket由于目标机器积极拒绝无法连接的解决办法

上传人:xiao****1972 文档编号:84902117 上传时间:2019-03-05 格式:DOCX 页数:2 大小:20.64KB
返回 下载 相关 举报
socket由于目标机器积极拒绝无法连接的解决办法_第1页
第1页 / 共2页
socket由于目标机器积极拒绝无法连接的解决办法_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《socket由于目标机器积极拒绝无法连接的解决办法》由会员分享,可在线阅读,更多相关《socket由于目标机器积极拒绝无法连接的解决办法(2页珍藏版)》请在金锄头文库上搜索。

1、客户最近提出一个需求,要在WEB上远程管理客户端软件。那我们就仿路由器那种模式用SOCKET来解决吧。做了个DEMO,本机测试OK,拿到别的机器上做服务器,提示由于目标机器积极拒绝,无法连接。查询各种资料,有的说是端口没开,有的说是服务没开。各种雾水啊!仔细一想,问题可能出在本机在局域网IP上,而不是用127.0.0.1。更正代码后,问题解决。下面演示服务器端代码的关键部分。protected void Listen() MessageBox.Show(start listening); string ip = ; System.Net.IPHostEntry IpEntry = System

2、.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName(); for (int i = 0; i != IpEntry.AddressList.Length; i+) if (!IpEntry.AddressListi.IsIPv6LinkLocal) ip= IpEntry.AddressListi.ToString(); IPEndPoint ipend = new IPEndPoint(IPAddress.Parse(ip), 8000); Socket sc = new Socket(AddressFamily.InterNetwork, So

3、cketType.Stream, ProtocolType.Tcp); sc.Bind(ipend); Socket acc; while (true) sc.Listen(1); acc= sc.Accept(); byte buff = new byte1024; int recbyte = acc.Receive(buff, buff.Length, 0); if (recbyte = 0) break; string reciveval = ; reciveval += Encoding.GetEncoding(gb2312).GetString(buff, 0, recbyte);

4、string returnval = 开始升级; byte returnBy = Encoding.GetEncoding(gb2312).GetBytes(returnval); acc.Send(returnBy, returnBy.Length, 0); acc.Close(); sc.Close(); public string sendMessage() IPEndPoint ipend = new IPEndPoint(IPAddress.Parse(192.168.XXX.XXX),8000); Socket sc = new Socket(AddressFamily.Inter

5、Network,SocketType.Stream,ProtocolType.Tcp); sc.Connect(ipend); string message = 请升级软件; byte bt = Encoding.GetEncoding(gb2312).GetBytes(message); sc.Send(bt,bt.Length,0); byte rebuff = new byte1024; int recive = sc.Receive(rebuff, rebuff.Length, 0); string returnval = ; returnval += Encoding.GetEncoding(gb2312).GetString(rebuff, 0, recive); sc.Close(); return returnval;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号