当前位置: 代码迷 >> Java相关 >> [求助]请看下面代码
  详细解决方案

[求助]请看下面代码

热度:210   发布时间:2007-03-25 10:28:38.0
[求助]请看下面代码
1 import java.io.*;
2 import java.net.*;
3 import java.awt.*;
4 import java.awt.event.*;
5 public class Server
6 {
7 public static void main(String[] args)
8 {
9 ServerService MyServer=new ServerService(6000,10);
10 }
11 }
12 class SerivceThread extends Frame implements Runnable
13 {
14 ServerService FatherListener;
15 Socket ConnectedClient;
16 Thread ConnectedThread;
17 Panel ListenerPanel;
18 TextArea ServerMeg;
19 public ServiceThrea(ServerService sv,Socket s){
20 FatherListener=sv;
21 ConnectedClient=s;
22 ConnectThread=new Thread(this);
23 Title("Server(服务器端)");
24 setLayout(new BorderLayout());
25 ServerMeg=new TextArea(13,50);
26 add("Center",ServerMeg);
27 setResizable(false);
28 pack();
29 setVisible(true);
30 InetAddress ClientAddress=ConnectedClient.getInetAddress();
31 ServerMeg.appendText("Server connect"+" to:\n\n"+ClientAddress.toString()+".\n");
32 }
33 public void run(){
DataInputStream in=new DataInputStream(new BufferedInputStream(ConnectedClient.getInputStream()));
PrintStream out=new PrintStream(new BufferedOutputStream(ConnectedClient.getInputStream()));
out.println("Hello!,Welcome connect to me(server)!\r");
out.flush();
String s=in.readLine();
while(!s.equals("Bye")){
ServerMeg.appendText("client 端输入的信息为:\n"+s);
s=in.reaLine();
ConnectedClient.close();
FatherListener.adMeg("Client"+"closed."+"+\n");
dispose();
}
}
class ServerService extends Frame{
ServerSocket m_sListener;
TextArea ListenerMeg;
public ServerService(int Port,int Count){
try{
m_sListener=new ServerSocket(6000,10);
setTitle("Server Listener(监听器窗口)");
this.addWindowListener(new WinAdpt());
setLayout(new BorerLayout());
ListenerMeg=new TextArea("[监听服务已启动]\n\n\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\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);
}
}
}
大家看看十九行,那个构造函数,本来构造函数就没反回值,要番回也是它本身,但我运行时它提示要反回值,这我就更不明白了!
请大家帮帮忙!
搜索更多相关的解决方案: 代码  

----------------解决方案--------------------------------------------------------
  此外,里面也有过时的API,我不知怎改!谢谢
----------------解决方案--------------------------------------------------------
以下是引用117ai在2007-3-25 10:28:38的发言:
大家看看十九行,那个构造函数,本来构造函数就没反回值,要番回也是它本身,但我运行时它提示要反回值,这我就更不明白了!
请大家帮帮忙!

1.你看看构造函数的函数名是不是与类名一样?
2.你那个appendText方法用append方法来代替.
3.你的代码应该不全;而且里面用的还是AWT组件,估计是从那本古老的书上copy下来的吧.


----------------解决方案--------------------------------------------------------
哦,还有那个readLine的问题,把
程序代码:

DataInputStream in=new DataInputStream(new BufferedInputStream(ConnectedClient.getInputStream()));

改成
程序代码:

BufferedReader in =new BufferedReader(new InputStreamReader(ConnectedClient.getInputStream()));


----------------解决方案--------------------------------------------------------

晕,是书上的才看不懂,难理解,再想参考它的思路,没办法,学校的书十几年没换!
不过,是我自己写上来的时候弄错,那个ServiceThread改回来也是一样的错误


----------------解决方案--------------------------------------------------------
你这本书太老了,抢换本书学吧.错误一大把,误人子弟啊
----------------解决方案--------------------------------------------------------
  不是书太旧了,是我太迟来这个学校了!
----------------解决方案--------------------------------------------------------
什么意思,那样的内容书还不旧吗
----------------解决方案--------------------------------------------------------
这本书是2003年九月才出的第一版,而且很多书店还有买,叫做《java 2 应用编程150例》电子工业出版社出版!
书是不旧,我就是觉得写程序那家伙有问题!
比如JFrame它就用Frame,真是不懂这样的人也编书!
----------------解决方案--------------------------------------------------------
在IT方面,国人编的书大都落后一大截.
而且那些编书人的水平值的怀疑.
----------------解决方案--------------------------------------------------------
  相关解决方案