java - 套接字编程,尝试循环遇到问题

标签 java sockets

我一直在查看 Oracle 教程网站来学习基本的套接字编程。我尝试在 eclipse 上上传示例,但是当我尝试编译时,括号所在的语法有错误。为什么会发生这种情况?谢谢。

try (
        Socket echoSocket = new Socket(hostName, portNumber);
        PrintWriter out =
            new PrintWriter(echoSocket.getOutputStream(), true);
        BufferedReader in =
            new BufferedReader(
                new InputStreamReader(echoSocket.getInputStream()));
        BufferedReader stdIn =
            new BufferedReader(
                new InputStreamReader(System.in))
    ) {
        String userInput;
        while ((userInput = stdIn.readLine()) != null) {
            out.println(userInput);
            System.out.println("echo: " + in.readLine());
        }
    } catch (UnknownHostException e) {
        System.err.println("Don't know about host " + hostName);
        System.exit(1);
    } catch (IOException e) {
        System.err.println("Couldn't get I/O for the connection to " +
            hostName);
        System.exit(1);
    } 

最佳答案

Why is this happening?

您正在尝试进行“尝试资源”。这需要 Java 7 或更高版本。确保您的 eclipse 项目也设置为 Java 7,而不仅仅是本地命令行 JDK。

http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

关于java - 套接字编程,尝试循环遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22420201/

相关文章:

java - 使用Socket编程发送文件(大)

java - 使用 Spring Data 创建只读存储库

java - 将 LinkedList<type> 转换为 LinkedList <superType> (java)

java - SWIG,我可以为从 Java 传递到 C 的 char** 赋值吗

c++ - 您可以指定线程终止的顺序,即线程依赖性吗?

java - 数据包,当通过我的 SSL 套接字发送时变得非常大

java - 对字符串数组和 int 数组进行排序

java - IntelliJ 中的 Grails 默认内存设置

Java数据输入流

android - iOS和Android C套接字编程+ GUI