当前位置:编程学习 > C#/ASP.NET >>

TcpClient问题

以下两端代码,我用两个C#控制台同时执行,但发现有报错
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.IO;//用到流

namespace 客户端
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("客户端");
            TcpClient client = new TcpClient("192.168.0.10",8989);
            NetworkStream netstream = client.GetStream();
            StreamWriter sw = new StreamWriter(netstream);

            while (true)
            {
                sw.WriteLine(Console.ReadLine());
                sw.Flush();
            }
            sw.Close();
        }
    }
}



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net;
using System.IO;

namespace Server//服务端
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("服务端");
            //建立一个服务端
            //IPAddress.Parse("192.168,0,10")IP地址,8989是端口
            TcpListener listener = new TcpListener( IPAddress.Parse("192.168.0.10"),8989);//实例化服务端对象,监听IP地址和端口有没有连接过来
            listener.Start();//监听开始
            TcpClient client = listener.AcceptTcpClient();//当监听开始时,就先停下来,等待客户端链接(阻塞方法,阻塞在这里,没有连接就程序就停在这里,有链接程序就赋给client)
            //一旦链接成功,就用AcceptTcpClient链接,给TcpClient client.
            //链接建立成功,就用这个连接给对方发送信息
            //读取信息
            //client.GetStream();//客户端给服务端发送信息不是同一台电脑,所以以流的形式
            //接受一个网络流
            NetworkStream netstream = client.GetStream();//用client获取流
            StreamReader sr = new StreamReader(netstream);//读取流

            while (true)
            {
                Console.WriteLine(sr.ReadLine());//或sr.ReadToEnd();将流转化为信息读出来并打印出来
            }
            sr.Close();//关闭连接
        }
    }
}
使用程序调试后,为什么这两段代码相互连不上,客户端无法输入文字,而且服务端无法显示从客户端显示出来的文字?请各位大神帮忙 --------------------编程问答-------------------- 报什么错,具体在哪段代码执行后报错的? --------------------编程问答-------------------- 你好,我试了 .没有问题 . 不知道你哪里是否出了问题
--------------------编程问答-------------------- 我是在自己的机器上, ip都是本地.没问题 ,如果你是不相同的机器在测试,看你的ip肯定是局域网.
这个可能涉及到防火墙安全,不是本机的情况下. 你去设置下防火墙入站规则 ,添加那个端口的入站规则即可.
希望能帮到你. --------------------编程问答-------------------- 谢谢各位,这是我的第一条
补充:.NET技术 ,  Web Services
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,