| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2971 人关注过本帖, 1 人收藏
标题:socket连接这样写有没有错?急ing
只看楼主 加入收藏
gundumw100
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2008-1-22
收藏(1)
 问题点数:0 回复次数:6 
socket连接这样写有没有错?急ing
public void WriteData(string data)
{            try
            {
            client = new TcpClient();
            IPAddress ip = IPAddress.Parse(IP);
            client.Connect(ip, port);
            
              Byte[] mybytes = Encoding.ASCII.GetBytes(data);
              stream = client.GetStream();
              stream.Write(mybytes, 0, mybytes.Length);
            }
            catch (SocketException e)
            {
                isFail = true;
                text = e.ErrorCode + "连接失败!" + e.ToString();
            }
}
为什么执行到client.Connect(ip, port);会抱如下错误:
未处理
  Message="由于目标计算机主动拒绝,未能建立连接"
  ErrorCode=10061
  NativeErrorCode=10061
  StackTrace:
    位于 ()
    位于 ()
    位于 ()
    位于 ()
    位于 ()

我用的IP是127.0.0.1 端口是6000

[[it] 本帖最后由 gundumw100 于 2008-2-13 11:15 编辑 [/it]]
搜索更多相关主题的帖子: socket ing client mybytes stream 
2008-02-13 11:11
zfl313
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-8-13
收藏
得分:0 
你用Dns.GetHostAddresses(Dns.GetHostName() )这个获取ip
我不知道行不行,如果你能上网的话ip可能不是系统默认的127.0.0.1了

梦想开始的地方!
2008-02-13 15:03
gundumw100
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2008-1-22
收藏
得分:0 
回复 2# 的帖子
我看见有2个IP
一个是192.168.1.11
一个是192.168.5.101
我用了上面那个!没有异常发生
可服务器端却没有收到客户端发出的数据,又一个疑问出来了?
我的服务器端是这样写的:

static void Main(string[] args)
        {
            string s=Dns.GetHostName();//获得本机名
            Console.WriteLine(s);
            IPHostEntry address = Dns.GetHostEntry(s);//获得本机IP
            IPAddress[] my = address.AddressList;//获得本机IP数组,多个IP
            foreach (IPAddress i in my)//把本机所有IP打印出来
            {
                Console.WriteLine(i);
            }
            IPAddress IP = IPAddress.Parse("192.168.1.11");//socket://220.248.36.5
             int port = 6000;

            TcpListener server = new TcpListener(IP, port);
            server.Start();

            Console.WriteLine("等待客户机连接");
            while (true)
            {               
                Socket socket = server.AcceptSocket();
                //这里没有反应 为什么?????????????????????
                Console.WriteLine("服务器接受连接");
                try
                {                    
                    byte[] buff = new byte[1024];
                    int length = socket.Receive(buff);
                    Console.WriteLine("接受到数据!");
                    string data = Encoding.ASCII.GetString(buff, 0, length);
                    Console.WriteLine(data);
                }
                catch (Exception e)
                {
                    Console.WriteLine("客户机离开");
                    socket.Close();
                    break;
                }
            }
             Console.ReadLine();
}

[[it] 本帖最后由 gundumw100 于 2008-2-13 15:58 编辑 [/it]]
2008-02-13 15:54
gundumw100
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2008-1-22
收藏
得分:0 
回复 2# 的帖子
哥们是在上海做事吗???
我们老板看上你了~~~
2008-02-13 16:17
zfl313
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-8-13
收藏
得分:0 
你别用socket接收客户端,你建一个tcpclient类型的监听客户端,如果有客户端要连接的话就接收
if((TcpListener) tcplist.Pending())
{
   //接收
   this.client = this.tcplsn.AcceptTcpClient();
  //读取数据
  NetworkStream ns = client.GetStream();
............
}

梦想开始的地方!
2008-02-13 18:10
acelove
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-2-21
收藏
得分:0 
Socket socket = server.AcceptSocket();
                //这里没有反应 为什么?????????????????????

正常啦,这里是服务器等待客户端的链接,客户端只有链接了才会往下执行!!!
2008-02-21 16:36
weilanse
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-3-8
收藏
得分:0 
也碰到了同样的问题
是客户端出了问题. 连接不上 服务器

未处理
  Message="由于目标计算机主动拒绝,未能建立连接"
  ErrorCode=10061
  NativeErrorCode=10061
  StackTrace:
    位于 ()
    位于 ()
    位于 ()
    位于 ()
    位于 ()
2008-03-08 17:25
快速回复:socket连接这样写有没有错?急ing
数据加载中...
 
   



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

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