正在開發客戶端服務器程序。在客戶端,我開發了一個發送數據和接收數據的程序。客戶端/服務器編程,無法將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
它可能會減少資源需求。 –