Java 如何发送身份验证字符串以建立TCP连接?

Java 如何发送身份验证字符串以建立TCP连接?,java,tcp,tcpclient,Java,Tcp,Tcpclient,我必须建立到服务器的TCP连接,这要求我以以下格式发送凭据登录: <STX>username=fred&password=123456<ETX> username=fred&password=123456 假设主机:qstage.thettcphost.com和端口:8999 我不熟悉套接字编程,并使用它来实现这一点。我在客户端使用了java.net.Socket,但我不知道如何将上面的字符串发送到java中的TCP服务器进行身份验证 我现在可以远程登录服务器

我必须建立到服务器的TCP连接,这要求我以以下格式发送凭据登录:

<STX>username=fred&password=123456<ETX>
username=fred&password=123456
假设主机:qstage.thettcphost.com和端口:8999

我不熟悉套接字编程,并使用它来实现这一点。我在客户端使用了
java.net.Socket
,但我不知道如何将上面的字符串发送到java中的TCP服务器进行身份验证

我现在可以远程登录服务器了

但是如何在以下时间之后(或期间)以格式传递凭证字符串: Socket Socket=新套接字(“mshxml.morningstar.com”,8999); 我的意思是,为了向TCP服务器进行身份验证,我必须编写哪段代码

我已经在这个网站上搜索了这个信息,但是没有找到任何。
非常感谢您的帮助。

建立套接字连接是发送任何creds信息之前的第一步

如果此步骤失败,请考虑目标服务器上的规范。是否提供了正确的端口?关于礼节有什么考虑吗? 通常,身份验证将在您成功建立连接后进行

Edited:添加用于从套接字客户端写入套接字的源代码。 现在,在这个上下文中,您是一个套接字客户端,尝试向服务器发送creds

public class GreetingClient
{
   public static void main(String [] args)
   {
      String serverName = args[0];
      int port = Integer.parseInt(args[1]);
      try
      {
         System.out.println("Connecting to " + serverName +
         " on port " + port);
         Socket client = new Socket(serverName, port);
         System.out.println("Just connected to " 
         + client.getRemoteSocketAddress());
         OutputStream outToServer = client.getOutputStream();
         DataOutputStream out = new DataOutputStream(outToServer);
         out.writeUTF("Hello from "
                      + client.getLocalSocketAddress());
         InputStream inFromServer = client.getInputStream();
         DataInputStream in =
                        new DataInputStream(inFromServer);
         System.out.println("Server says " + in.readUTF());
         client.close();
      }catch(IOException e)
      {
         e.printStackTrace();
      }
   }
}

此处找到的示例:

建立套接字连接是发送任何creds信息之前的第一步

如果此步骤失败,请考虑目标服务器上的规范。是否提供了正确的端口?关于礼节有什么考虑吗? 通常,身份验证将在您成功建立连接后进行

Edited:添加用于从套接字客户端写入套接字的源代码。 现在,在这个上下文中,您是一个套接字客户端,尝试向服务器发送creds

public class GreetingClient
{
   public static void main(String [] args)
   {
      String serverName = args[0];
      int port = Integer.parseInt(args[1]);
      try
      {
         System.out.println("Connecting to " + serverName +
         " on port " + port);
         Socket client = new Socket(serverName, port);
         System.out.println("Just connected to " 
         + client.getRemoteSocketAddress());
         OutputStream outToServer = client.getOutputStream();
         DataOutputStream out = new DataOutputStream(outToServer);
         out.writeUTF("Hello from "
                      + client.getLocalSocketAddress());
         InputStream inFromServer = client.getInputStream();
         DataInputStream in =
                        new DataInputStream(inFromServer);
         System.out.println("Server says " + in.readUTF());
         client.close();
      }catch(IOException e)
      {
         e.printStackTrace();
      }
   }
}

此处找到的示例:

看一看:连接被拒绝的问题现已解决。在创建连接之前,我的ip必须被列入白名单。现在主要的问题仍然存在:如何将凭据字符串传递到服务器?请看:连接被拒绝的问题现在已经解决。在创建连接之前,我的ip必须被列入白名单。现在主要的问题仍然存在:如何将凭证字符串传递到服务器?我已经建立了连接。为此,我的IP必须被列入白名单。现在,您可以告诉我如何以上述格式将身份验证凭据字符串发送到服务器吗?我编辑了答案,将示例
写入
操作添加到套接字服务器@PratapI已经建立了连接。为此,我的IP必须被列入白名单。现在,您可以告诉我如何以上述格式将身份验证凭据字符串发送到服务器吗?我编辑了答案,将示例
写入
操作添加到套接字服务器@普拉塔普