一个java的问题,能正确帮我解决者,百分相赠 你现在的服务器已经启动了但是没有客户端连接,当然没有反应telnet yourIP 4080然后在操作 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 诸位我编的客户端程序如下import java.awt.*;import java.applet.*;import java.net.*;import java.io.*;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class ExampleMessage extends Applet implements Runnable, ActionListener{private Socket socket=null;private DataInputStream in=null;private DataOutputStream out=null;Thread thread=null;TextArea text;Button button; public void init() { this.setLayout(new BorderLayout()); text=new TextArea(200,200); add(text,"Center"); button=new Button("发送"); add(button,"South"); button.addActionListener(this); } public void start() { try{ socket=new Socket(this.getCodeBase().getHost(),2020); in=new DataInputStream(socket.getInputStream()); out=new DataOutputStream(socket.getOutputStream()); thread=new Thread(this); thread.start(); } catch(IOException e){text.append("没连接上");} } public void paint(Graphics g) { // g.drawString("Welcome to Java!!", 50, 60 ); } public void run() {try{ while(true) { String s=null; if((s=in.readUTF())!=null) {text.append("服务器说:"+s);} else {text.append("没响应");} } } catch(IOException e){} } public void stop() { try{socket.close();thread.yield();} catch(IOException e){} } public void actionPerformed(ActionEvent parm1) { // TODO: Add your code here if(parm1.getSource()==button) try{ out.writeUTF(text.getText()); text.append("已发送\n"); } catch(IOException e){text.append("发送失败");} }}问题在于即使服务器程序未接收到信息,亦应该有提示信息呀,如"正在监听一类"的,可什么都没有未什么呀? 端口都不一样。肯定不行了。还有兄台的代码确实有点乱了。比较难看。另外在服务器端接受到消息之后,你的程序将重复执行server=new ServerSocket(4080),这里将会出错的。服务器ServerSocket创建一次就ok了 try{server=new ServerSocket(4080); .......... socket=new Socket(this.getCodeBase().getHost(),2020); ........... 一个是4080一个是2020 淘宝数据抓取! 求分析AWT源码的文章 配置J2EE环境需要装哪些软件,请指教了。 抽象方法 一个考试题,哪个对 怎么 :Cannot create PoolableConnectionFactory 怎么改变JdbTable表头字体的大小? session 的方法怎么了解?api 里没有??、 关于图形颜色的问题 java 连接sqlserver2000 问题. 如何组织和解析固定结构的消息包? upd和applet通讯的难题
import java.awt.*;
import java.applet.*;
import java.net.*;
import java.io.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class ExampleMessage extends Applet implements Runnable, ActionListener{
private Socket socket=null;
private DataInputStream in=null;
private DataOutputStream out=null;
Thread thread=null;
TextArea text;
Button button;
public void init() {
this.setLayout(new BorderLayout());
text=new TextArea(200,200);
add(text,"Center");
button=new Button("发送");
add(button,"South");
button.addActionListener(this);
}
public void start()
{
try{
socket=new Socket(this.getCodeBase().getHost(),2020);
in=new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
thread=new Thread(this);
thread.start();
}
catch(IOException e){text.append("没连接上");}
}
public void paint(Graphics g) {
// g.drawString("Welcome to Java!!", 50, 60 );
}
public void run()
{try{
while(true)
{
String s=null;
if((s=in.readUTF())!=null)
{text.append("服务器说:"+s);}
else
{text.append("没响应");}
}
}
catch(IOException e){}
}
public void stop()
{
try{socket.close();thread.yield();}
catch(IOException e){}
}
public void actionPerformed(ActionEvent parm1) {
// TODO: Add your code here
if(parm1.getSource()==button)
try{
out.writeUTF(text.getText());
text.append("已发送\n");
}
catch(IOException e){text.append("发送失败");}
}
}
问题在于即使服务器程序未接收到信息,亦应该有提示信息呀,如"正在监听一类"的,可什么都没有未什么呀?
另外在服务器端接受到消息之后,你的程序将重复执行server=new ServerSocket(4080),这里将会出错的。服务器ServerSocket创建一次就ok了
socket=new Socket(this.getCodeBase().getHost(),2020);
...........
一个是4080一个是2020