| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1442 人关注过本帖
标题:求助:广域网TCP/IP通信
取消只看楼主 加入收藏
zzHong99
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-11-26
结帖率:0
收藏
 问题点数:0 回复次数:0 
求助:广域网TCP/IP通信
在网上找了TCP/IP通信的例子,用的TcpListener,TcpClient。逻辑比较简单。源码附后。测试情况:
[都是在自己机器上测试]

请高手赐教啊

1,测试:
IP地址:127.0.0.1:正常
2,局域网IP:
IP地址:192.168.1.100:由于目标计算机积极拒绝,无法连接。 192.168.1.100:1000
3,广域网IP:
【尚不知获得广域网IP的代码是否正确】
登录路由器:192.168.1.1   转发规则-虚拟服务器 中 添加记录:192.168.1.100 :1000 All 生效
IP地址:115.196.222.139:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 115.196.222.139:1000



源码:
客户端**************************
TcpClient client = new TcpClient("IP地址", 1000);
NetworkStream sendStream = client.GetStream();

Byte[] sendBytes = Encoding.Default.GetBytes(str);
sendStream.Write(sendBytes, 0, sendBytes.Length);

sendStream.Close();
client.Close();
服务端**********************
client = listener.AcceptTcpClient();
NetworkStream ns = client.GetStream();

byte[] bytes = new byte[1024];
int bytesread = ns.Read(bytes, 0, bytes.Length);
收到字符串 = Encoding.Default.GetString(bytes, 0, bytesread);
ns.Close();
client.Close();
本机广域网IP*********************
广域网IP = GetOuterIP("http://www.);
string GetOuterIP(string url)
{
    string page = GetPage(url);
    string patt = @"IP: \[(?<IP>[0-9\.]*)\]";
    Match match = Regex.Match(page, patt);
    return match.Groups["IP"].Value;
}
static string GetPage(string url)
{
    Uri uri = new Uri(url);
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);

    using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())
        using (StreamReader sr = new StreamReader(res.GetResponseStream()
             /*, Encoding.GetEncoding("GB18030")*/))
             return sr.ReadToEnd();

    finally { req.Abort(); }
}
搜索更多相关主题的帖子: 广域网 TCP 通信 
2010-11-26 14:21
快速回复:求助:广域网TCP/IP通信
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016320 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved