我刚学java请教一个socket的问题
我刚学java,现在看一本叫《java语言与面向对象程序设计》的书是2001年出的。书里有个socket通信的例子。我照着敲了用jdk1.4编译时出了下面两条提示请问是什么意思呀?
Note: MySocketServer.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
程序在下面
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
public class MySocketServer
{
public static void main(String args[])
{
ServerService MyServer=new ServerService(8000,10);
}
}
class ServiceThread extends Frame implements Runnable
{
ServerService FatherListener;
Socket ConnectedClient;
Thread ConnectThread;
Panel ListenerPanel;
TextArea ServerMeg;
public ServiceThread(ServerService sv,Socket s)
{
FatherListener=sv;
ConnectedClient=s;
ConnectThread=new Thread(this);
setTitle("Answer Client");
setLayout(new BorderLayout());
ServerMeg=new TextArea(10,50);
add("Center",ServerMeg);
setResizable(false);
pack();
show();
InetAddress ClientAddress=ConnectedClient.getInetAddress();
ServerMeg.appendText("Client connected"+"from\n"+ClientAddress.toString()+".\n");
}
public void run()
{
try{
DataInputStream in=new DataInputStream(new BufferedInputStream(ConnectedClient.getInputStream()));
PrintStream out=new PrintStream(new BufferedOutputStream(ConnectedClient.getOutputStream()));
out.println("Hello!Wellcome connect to our server!\r");
out.flush();
String s=in.readLine();
while(!s.equals("Bye"))
{
ServerMeg.appendText("Client端输入的信息为:\n"+s);
s=in.readLine();
}
ConnectedClient.close();
}
catch(Exception e){}
FatherListener.addMeg("Client"+"closed."+"\n");
dispose();
}
}
class ServerService extends Frame
{
ServerSocket m_sListener;
TextArea ListenerMeg;
public ServerService(int Port,int Count)
{
try{
m_sListener=new ServerSocket(Port,Count);
setTitle("Server Listener");
this.addWindowListener(new WinAdpt());
setLayout(new BorderLayout());
ListenerMeg=new TextArea("监听服务已经启动\n",10,50);
add("Center",ListenerMeg);
setResizable(false);
pack();
show();
while(true)
{
Socket Connected=m_sListener.accept();
InetAddress ClientAddress=Connected.getInetAddress();
ListenerMeg.appendText("Client"+"connected"+"from\n"+ClientAddress.toString()+".\n");
ServiceThread MyST=new ServiceThread(this,Connected);
MyST.ConnectThread.start();
}
}
catch(IOException e){}
}
public void addMeg(String s)
{
ListenerMeg.appendText(s);
}
}
class WinAdpt extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
((Frame)e.getWindow()).dispose();
System.exit(0);
}
}
问题点数:20、回复次数:4Top
1 楼Koham(永恒)回复于 2003-06-04 09:15:05 得分 7
你用到的一个API在JDK1.4里被不建议使用了,查看文档可以看到推荐使用的方法Top
2 楼pda2000(齐格飞·吉尔菲尔斯)回复于 2003-06-04 09:31:19 得分 7
Note: MySocketServer.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
deprecated:好像是deprecate的过去式,就是“祈祷以求免于(灾祸等)”(金山词霸2002共享版)
上面这段话的意思是:
MySocketServer.java 使用或覆盖了一个不建议被使用的API(Application Program Interface).请使用-deprecation选项重编译。就是让你用javac MySocketServer.java -deprecation再编译一次。
Top
3 楼jerrygui(jerrygui)回复于 2003-06-04 10:04:19 得分 6
你现在使用的应该是jdk1.4,那个例子使用的是JDK1.3定义的API,这个在方法在JDK1.4中是不建议使用,你可以使用javac -deprecation MySocketServer来看详细信息。
但是应该在JDK1.4的环境下可以运行的。
你可以看一下JDK1.4的文档!
Top
4 楼qianfang(qianfang)回复于 2003-06-04 10:48:56 得分 0
谢谢大家Top




