首先感谢大家在这里回答问题。我把这个论坛用作java圣经。这是一个家庭作业问题,这里是作业:
用Java编写程序,使用套接字连接到端口80上的Web服务器,使用HTTP协议的GET请求网页,并显示生成的HTML
不确定我是否正确行事。我对java的理解非常有限。其中大部分来自我经历过的教程。任何网站链接将不胜感激。
这是我的错误消息:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Type mismatch: cannot convert from java.net.Socket to Socket
The method getInputStream() is undefined for the type Socket
这是我的代码:
import java.io.*;
import java.net.*;
public class Server
{
public static void main(String[] args) throws Exception
{
Server SERVER = new Server();
SERVER.run();
}
public void run() throws Exception
{
ServerSocket one = new ServerSocket(80);
//these are the two lines of code it is warning about
Socket myskt = one.accept();
InputStreamReader IR = new InputStreamReader(myskt.getInputStream());
//end of warnings
BufferedReader BR = new BufferedReader(IR);
String message = BR.readLine();
System.out.println(message);
if (message != null)
{
PrintStream PS = new PrintStream(System.out);
PS.println("Message Received");
}
URL website = new URL("www.dogs.com");
URLConnection yc = website.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream()));
String inputLine;
while ((inputLine = in .readLine()) != null)
System.out.println(inputLine);
one.close();
}
// TODO Auto-generated method stub
}
答案 0 :(得分:3)
问题是我们的代码格式不正确 - 您有编译错误。我的猜测是你在与你正在编译的类相同的包中有一个类Socket
,或者在类路径上有一个遗留类文件(Socket.class)。当编译器运行时,它使用Socket的包本地版本,它与java.net.Socket
的类型不同 - 因此是例外。
在声明myskt