如何通过网络连接(使用 Java)将当前时间戳作为 String 发送?
How do I send the current timestamp as a String , over a networked connection(using Java)?
我需要编写一个简单的 Java client/server 对,其中服务器将时间戳发送给任何 N
数量的客户端。到目前为止,这是我的服务器端代码(客户端只是相同类型的代码):
import java.sql.Timestamp;
import java.util.Date;
import java.net.*;
import java.io.*;
public class EchoServer
{
public static void main(String[] args) throws IOException
{
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(10007);
}
catch (IOException e)
{
System.err.println("Could not listen on port: 10007.");
System.exit(1);
}
Socket clientSocket = null;
System.out.println ("Waiting for connection.....");
try
{
clientSocket = serverSocket.accept();
}
catch (IOException e)
{
System.err.println("Accept failed.");
System.exit(1);
}
System.out.println ("Connection successful");
System.out.println ("Waiting for input.....");
//added in TimeStamp code
java.util.Date date= new java.util.Date();
System.out.println(new Timestamp(date.getTime()));
String timeString = (String)(new Timestamp(date.getTime()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),
true);
BufferedReader in = new BufferedReader(
new InputStreamReader( clientSocket.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
{
System.out.println ("Server: " + inputLine);
out.println(inputLine + timeString );
if (inputLine.equals("Bye."))
break;
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
}
我收到这个错误:
\TimestampServer>javac *.java EchoServer.java:40: error: inconvertible
types
String newshit = (String)(new Timestamp(date.getTime()));
^ required: String found: Timestamp 1 error
谢谢
String.valueOf(new Date().getTime())
也许这样就可以了
String timeString = new Timestamp(date.getTime()).toString()
我需要编写一个简单的 Java client/server 对,其中服务器将时间戳发送给任何 N
数量的客户端。到目前为止,这是我的服务器端代码(客户端只是相同类型的代码):
import java.sql.Timestamp;
import java.util.Date;
import java.net.*;
import java.io.*;
public class EchoServer
{
public static void main(String[] args) throws IOException
{
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(10007);
}
catch (IOException e)
{
System.err.println("Could not listen on port: 10007.");
System.exit(1);
}
Socket clientSocket = null;
System.out.println ("Waiting for connection.....");
try
{
clientSocket = serverSocket.accept();
}
catch (IOException e)
{
System.err.println("Accept failed.");
System.exit(1);
}
System.out.println ("Connection successful");
System.out.println ("Waiting for input.....");
//added in TimeStamp code
java.util.Date date= new java.util.Date();
System.out.println(new Timestamp(date.getTime()));
String timeString = (String)(new Timestamp(date.getTime()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),
true);
BufferedReader in = new BufferedReader(
new InputStreamReader( clientSocket.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
{
System.out.println ("Server: " + inputLine);
out.println(inputLine + timeString );
if (inputLine.equals("Bye."))
break;
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
}
我收到这个错误:
\TimestampServer>javac *.java EchoServer.java:40: error: inconvertible types String newshit = (String)(new Timestamp(date.getTime())); ^ required: String found: Timestamp 1 error
谢谢
String.valueOf(new Date().getTime())
也许这样就可以了
String timeString = new Timestamp(date.getTime()).toString()