我在Java中使用以下代码进行Socket连接,并且即使在导入java.net后,它也会出现Socket数据类型不存在的错误。*;但是当我声明Socket变量con时,在try块之上它表示布尔变量和Socket变量不匹配。编码如下。请指教。
import java.net.*;
import java.io.*
public class DTServer {
public static void main (String argv[]) {
int dayTimePort = 13;
try {
ServerSocket dtserver = new ServerSocket (dayTimePort);
while (Socket con = dtserver.accept ()) {
PrintWriter out = new PrintWriter (con.getOutputStream (), true);
Date now = new Date ();
out.println (now.toString ());
con.close ();
}
} catch (Exception e) {}
}
答案 0 :(得分:1)
是的,这就是问题所在:
while (Socket con = dtserver.accept ())
while
语句需要boolean
条件 - 而Socket
不是boolean
。 (并且你不能在while
条件中声明变量......)
你可能想要:
while (true) {
Socket con = dtserver.accept();
...
}
当然,如果您想要使用其他条件,请将其替换为true
。例如,您可能想要某种方式正常关闭服务器。
答案 1 :(得分:0)
更改此行
while(Socket con = dtserver.accept ())
到
Socket con = null;
while(true){
con = dtserver.accept ();
}