Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在DataInputStream类中找不到Java套接字程序和符号_Java_Sockets - Fatal编程技术网

在DataInputStream类中找不到Java套接字程序和符号

在DataInputStream类中找不到Java套接字程序和符号,java,sockets,Java,Sockets,我正在开发一个客户机-服务器程序,我的程序显示了一些编译器无法检测到的套接字对象错误,我重新检查了它,没有任何拼写错误或缺少分号,但它仍然显示了错误。此外,我还将我的程序与一些在线套接字编程教程进行了比较,发现我的方法是正确的。我对java套接字编程非常陌生 try { JOptionPane.showMessageDialog(null,"Server : Configuring the port"+port); ServerSocket server = new

我正在开发一个客户机-服务器程序,我的程序显示了一些编译器无法检测到的套接字对象错误,我重新检查了它,没有任何拼写错误或缺少分号,但它仍然显示了错误。此外,我还将我的程序与一些在线套接字编程教程进行了比较,发现我的方法是正确的。我对java套接字编程非常陌生

    try
   {
    JOptionPane.showMessageDialog(null,"Server : Configuring the port"+port);
    ServerSocket server = new ServerSocket(port);
    JOptionPane.showMessageDialog(null,"Server : Waiting for client's connection");;
    while(true)
    {
      Socket socket = new Socket();
      socket = server.accept();
    }
   }
catch(IOException e)
  {
    JOptionPane.showMessageDialog(null,"Server : Nothing Found");
  }
    try
    {

        DataInputStream input = new DataInputStream(socket.getInputStream()); // get the input from client 
        DataOutputStream output = new DataOutputStream(socket.getOutputStream());  // Send the output to client 
        String word = "Connection Establish";  
        while(true)
        {
            word = output.readLine(); // read the message  
            output.println(word);  // display the message to client 
        }
    }
    catch(IOException e)
    {
       JOptionPane.showMessageDialog(null,"Server : Can't Connect To Server, Please Try Again");
    }

}
这是我程序的一部分,错误出现在DataInputStream类中,因为它找不到套接字的符号

将提供完整的程序

您需要在
try
块之外声明
套接字

Socket socket = null;
try{
  ...
  while(true) {
    socket = server.accept();
  }
}
...

所以,你得到了一个错误。它是什么?发布完整准确的错误消息。告诉我们它指的是哪一行。不读取错误消息无助于您(和我们)解决问题。错误发生在所有DataInputStream类上,该类为我提供未找到套接字对象错误发生在第35/36行和第40/41行。sry未提供明确说明,这不是exat和完整的错误信息。这就是您对准确完整的错误消息的错误解释。您是否定义了可从try块访问的
socket
变量?您知道变量作用域是什么吗?
DataOutputStream
没有
println()
方法。您的异常处理结构不良。依赖于try块成功与否的代码应该在try块中。这里的错误只是一个简单的范围界定问题,由糟糕的编码引起。@ShinjiKagawa,那会是什么问题?您没有足够详细地描述它,让任何人都知道它是什么,但这个答案肯定纠正了代码中的错误。谢谢大家,我每天都解决了所有错误消息