我必须建立到服务器的TCP连接,这要求我以下列格式发送凭证进行登录:
<STX>username=fred&password=123456<ETX>
让我们说主持人:qstage.thetcphost.com和端口:8999
我是socket编程的新手,并使用相同的方法来实现它。我在客户端使用了java.net.Socket
,但我不知道如何将上述字符串进行身份验证发送到Java中的TCP服务器。
我现在能够telnet服务器。
但是如何在&lt;中传递凭据字符串? STX&gt; ......&lt; ETX&gt;格式之后(或期间): 套接字套接字=新套接字(“mshxml.morningstar.com”,8999); 我的意思是,我必须编写哪些代码来验证自己对TCP服务器的身份?
我在此网站上搜索了此信息但找不到任何信息。 非常感谢帮助。
答案 0 :(得分:0)
建立套接字连接是您发送任何信用信息之前的第一步。
如果此步骤失败,请考虑目标服务器的规范。是否提供了正确的端口?关于协议的任何考虑? 通常,在您已成功建立连接后,将进行身份验证。
Editted:添加从套接字客户端写入套接字的源代码。 现在,在这种情况下,你是一个套接字客户端,尝试向服务器发送信用。
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();
}
}
}
此处找到的示例:http://www.tutorialspoint.com/java/java_networking.htm