【发布时间】:2013-09-27 19:45:44
【问题描述】:
您好,有人可以帮我解决这个问题吗?我正在尝试创建客户端和服务器应用程序反向连接。当我尝试打开客户端和服务器时,反之亦然。场景是我执行客户端和服务器,但是当我关闭服务器并重新打开时,它不接受任何连接,两个连接都丢失了。
代码如下:
客户代码:
namespace client1
{
class Program
{
public static bool isConnected { get; set; }
public static NetworkStream Writer { get; set; }
public static NetworkStream Reciever { get; set; }
static void Main(string[] args)
{
Connect_To_Server();
}
public static void Connect_To_Server()
{
TcpClient Connecting = new TcpClient();
string IP = "178.121.1.2";
while (isConnected == false)
{
try
{
Connecting.Connect(IP, 2000);
isConnected = true;
Writer = Connecting.GetStream();
Reciever = Connecting.GetStream();
Console.WriteLine("Connected: " + IP);
}
catch
{
Console.WriteLine("Error Connection... .");
Console.Clear();
}
}
Console.ReadKey();
}
}
}
服务器代码:
namespace server1
{
class Program
{
public static bool isConnected { get; set; }
public static NetworkStream Writer { get; set; }
static void Main(string[] args)
{
Listen_To_Client();
}
public static void Listen_To_Client()
{
TcpListener Listen = new TcpListener(2000);
while (true)
{
Listen.Start();
if (Listen.Pending())
{
TcpClient Connect = Listen.AcceptTcpClient();
isConnected = true;
Console.WriteLine("Connection Accepted");
Writer = Connect.GetStream();
Console.ReadKey();
}
}
}
}
}
【问题讨论】:
-
我不明白,你的客户端调用一次,那你怎么期望执行两次,我错过了什么吗?
-
很抱歉造成误解。我只运行一次客户端,但对于服务器,我想多次运行它。如果我关闭我的服务器一次然后重新打开我的客户端和服务器不再通信。已经好几天了,仍然没有运气。我是套接字编程的新手。
-
这里的问题是你连接到服务器一次。然后关闭该连接。之后您需要与服务器建立新连接(即再次调用
Connect_To_Server())。 -
先生任何示例代码如何在我的代码中建立新连接。非常感谢。
标签: c# c#-4.0 tcp tcpclient tcplistener