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