当前位置:  技术问答>java相关

applet中socket连接服务器serversocket对象??

    来源: 互联网  发布时间:2017-04-07

    本文导语:  applet程序如下: import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.net.*; class NotHelloWorldPanel extends JPanel implements ActionListener {  public NotHelloWorldPanel()    {  setLayout(new BorderLayout());    ...

applet程序如下:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

class NotHelloWorldPanel extends JPanel implements ActionListener
{  public NotHelloWorldPanel()
   {  setLayout(new BorderLayout());
      d = new JTextField("0");
  add(d, "North");
      try
      {
        s = new Socket("192.0.0.1",7);
        s.setSoTimeout(10000);
        BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
        boolean more = true;
        while (more)
        {  String line = in.readLine();
           if (line == null) 
      more = false;
           else 
      d.setText(line);
        }
      }
      catch (IOException e)
      {  d.setText("error"+e);
      }
   }
   private JTextField d;
   private Socket s;
}

public class NotHelloWorldApplet extends JApplet
{  public void init()
   {  Container contentPane = getContentPane();
      contentPane.add(new NotHelloWorldPanel());
   }
}

服务器上IP为192.0.0.1,侦听端口为7,为什么报timeout???

|
Socket or ServerSocket的setSotimeout(int)是这样用的
设置了Sotimeout参数,如你设置的s.setSoTimeout(10000);
是从一输入流中读取数据,此时阻塞,当读了10s后,如没有读到,就会产生一个
InterruptedIOException异常。一定要捕获他,read方法就可以返回了。
一般可以这样写:
while(true){
try{
//read data and others methods
}
catch(InterruptedIOException ioe){}
}
放在一个循环里,读超时,捕获InterruptedIOException,返回到循环再读下一次。
你部获得IOException是InterruptedIOException的超类,其实你想捕获SocketException的,他也是IOException的超类,无意中捕获了InterruptedIOException,但是是在while(more){}的外面捕获,所以10s后没有数据,就出现error:....了。
明白了吗?

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问用applet直接连接服务器上的数据库的办法是否安全
  • 在applet中实现文字超连接
  • applet连接数库时,不同的htm格式导致无法连接数据库?兄弟们帮忙看一下
  • 如何在APPLET中如何连接ORACLE数据库?
  • 我用APPLET连接数据库时出现No suitable driver,是什么意思
  • applet连接sqlserver出错?
  • 再散分。谁能给一些Applet画图的源码例子,给连接也行。
  • APPLET连接数据库的问题,请高手指点
  • 请问谁有Applet连接远程Access数据库并且显示数据库内容的例子!
  • 利用Applet做Client,打开一个Socket连接,则出现java.security.AccessControlException: access denied 问题,有什么简便的方法解决???救命啊,立刻给分啊~~
  • applet连接数据库老折磨我???
  • applet连接数据库,写了一个policy文件,用appletviewer可以browse,但是如何在ie和nc中带那个policy文件?请各位帮忙一下...
  • applet连接数据库老折磨我??? iis7站长之家
  • Applet连接数据库的问题,请大家帮帮忙,过来看一看,指导一下!
  • applet连接数据库(SQL Server),在本机可读出内容,在别的机子上却看不到?
  • 能在applet的菜单里做个超连接吗?
  • 在JBuilder4中做一个applet用jdbc连接Oracle数据库,怎样放入IE中运行?!
  • Applet与Servlet怎样建立连接???
  • 怎样在applet中实现文字超连接
  • java命名空间java.applet类applet的类成员方法: applet定义及介绍
  • 如何让Applet里的控件随着Applet大小改变而一直占满整个Applet呢?
  • java命名空间java.applet类applet.accessibleapplet的类成员方法: applet.accessibleapplet定义及介绍
  • 对applet坐数字签名后,如果重新用jar对applet打包,需要重新做applet数字签名吗?
  • java命名空间java.applet类applet的类成员方法: getappletcontext定义及介绍
  • 为什么我的applet编译完,之后除了applet1.class之外,还有一个applet$1.class?
  • java命名空间java.applet类applet的类成员方法: getappletinfo定义及介绍
  • 急,我想问一下调用一个对话框的命令语句,比方说我已建立了一个Applet2,接下来该如何在Applet1中点击一个按钮来打开这个Applet2.谢谢
  • java命名空间java.applet类applet的类成员方法: isactive定义及介绍
  • 如何让IE认识applet所带的数字签名,而不是让证书仓库认识这个带数字签名的applet,就是说不装jdk也可以在IE里面使用带有签名的applet,详情请进
  • java命名空间java.applet类applet的类成员方法: stop定义及介绍
  • 请问application (or applet)如何实现对applet 小程序的调用??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3