正在开发客户端服务器程序。在客户端,我开发了一个发送数据和接收数据的程序。客户端/服务器编程,无法将System.net.IPAddress转换为字符串
我设法解析一个静态IP地址,但我尝试使用IPAddress.Any,但它返回该错误。 (无法将System.net.IPAddress转换为字符串)。
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace client
{
class HMSClient
{
static void Main(string[] args)
{
try
{
//---Connect to a port
Console.Write("Input port" + System.Environment.NewLine);
int PORT_NO = int.Parse(Console.ReadLine());
Console.Write("Input a Command" + System.Environment.NewLine);
while (true)
{
//---data to send to the server---
string commands = Console.ReadLine();
//---create a TCPClient object at the IP and port no.---
//IPAddress SERVER_IP = Dns.GetHostEntry("localhost").AddressList[0];
TcpClient client = new TcpClient(IPAddress.Any, PORT_NO);
NetworkStream nwStream = client.GetStream();
byte[] bytesToSend = Encoding.ASCII.GetBytes(commands);
//---send the command---
Console.WriteLine("Command: " + commands);
nwStream.Write(bytesToSend, 0, bytesToSend.Length);
//---read back the response
byte[] bytesToRead = new byte[client.ReceiveBufferSize];
int bytesRead = nwStream.Read(bytesToRead, 0, client.ReceiveBufferSize);
Console.WriteLine("Response: " + Encoding.ASCII.GetString(bytesToRead, 0, bytesRead));
}
}
catch (Exception e)
{
Console.WriteLine("Client cannot find target to send the command" + Environment.NewLine + e);
Console.ReadLine();
}
}
}
}
为什么你重新创建客户端,再而重新连接每个迭代? –
我的意思是我可以将它们移出循环,但是应该是刚刚完成的。 – Freon
它可能会减少资源需求。 –