如何在客户端创建一个从主机名和端口号到web服务器的套接字
本文关键字:口号 web 套接字 服务器 主机 创建 客户端 一个 | 更新日期: 2023-09-27 18:18:02
我想创建一个客户端套接字到web服务器知道它的主机名和端口。我在java后台问这个问题,你可以简单地写这样的东西
Socket MyClient;
try
{
MyClient = new Socket("Hostname", PortNumber);
}
catch (IOException e)
{
System.out.println(e);
}
在c#中是否有类似的方法来写
如果您计划使用套接字进行HTTP通信,则无需重新发明轮子。您可以使用WebClient类来为您做这些繁琐的工作。
这是你的样本。
private string getHTTP(string url)
{
TcpClient clientSocket = new TcpClient();
NetworkStream networkStream = null;
long port = 7777;
try
{
try
{
clientSocket.Connect(url,port );
}
catch { MessageBox.Show("Server is not Working", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return "Server is not working"; }
byte[] sendbyte = Encoding.ASCII.GetBytes(url);
networkStream = clientSocket.GetStream();
networkStream.Write(sendbyte, 0, sendbyte.Length);
networkStream.Flush();
}
catch { MessageBox.Show("Streaming Error", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return "Error"; }
// receive Message from DNS Server
byte[] receivedata = new byte[clientSocket.ReceiveBufferSize];
networkStream.Read(receivedata, 0, clientSocket.ReceiveBufferSize);
string urlnew = Encoding.ASCII.GetString(receivedata);
return urlnew;
}
更多你应该参考这个链接
从提供的答案中跳出一个想法,这是我认为可能是简单的答案:
public Socket getSocket1(string Hostname, int PortNmber)
{
TcpClient client = new TcpClient(Hostname, PortNumber);
return client.Client;
}