我试图让我的客户端应用程序连接到在本地网络上运行的远程计算机上的服务器,而不知道服务器的IP地址。
理想情况下,我希望客户端能够自动连接,但由于我一直无法正常工作,我想现在我已让用户手动输入他们的服务器&#39 ; s IP地址到客户端。
我已将输入的IP地址保存到文件中并将其加载到字符串中:
string ServerIP = System.IO.File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + @"/ServerIP.cfg");
但我不确定如何将该字符串设置为IPEndPoint:
private IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("Insert ServerIP string here"), 8888);
我尝试使用ipString
,IPAddress.Parse(ServerIP, 8888);
,IPAddress.Parse(string ServerIP, 8888);
以及其他多种组合未成功,我仍然无法找出此方法的正确语法,并且我的Google-fu在这一次失败了。
编辑:在我尝试调试之前,我没有遇到任何错误,我得到了:
"未处理的类型' System.ArgumentNullException'发生在System.dll
中附加信息:值不能为空。"在Client.Connect(serverEndPoint);
private IPEndPoint serverEndPoint;
private TcpClient Client = new TcpClient();
public Client()
{
InitializeComponent();
Client.Connect(serverEndPoint);
string ServerIP = System.IO.File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + @"/ServerIP.cfg");
serverEndPoint = new IPEndPoint(IPAddress.Parse(ServerIP), 8888);
}
答案 0 :(得分:1)
IPAddress.Parse
只接受一个参数,我相信您的意思是将端口放在IPEndPoint
构造函数而不是Parse
方法中。
private IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse(ServerIP), 8888);