如何在客户端创建一个从主机名和端口号到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#中是否有类似的方法来写

如何在客户端创建一个从主机名和端口号到web服务器的套接字

如果您计划使用套接字进行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;
    }