小编cod*_*er9的帖子

尝试执行java套接字操作时java.io.EOFException

我得到以下代码的以下异常.当排除while()循环时,这可以正常工作.为什么是这样?

Oct 6, 2011 1:19:31 AM com.mytunes.server.ServerHandler run
SEVERE: null
java.io.EOFException
    at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at com.mytunes.server.ServerHandler.run(ServerHandler.java:68)
Run Code Online (Sandbox Code Playgroud)

类ServerHandler:

public class ServerHandler extends Thread {
 .
 .
 .

public ServerHandler(...){
...
}


public void run(){

    try {

        os = s.getOutputStream();
        oos = new ObjectOutputStream(os);

        is = s.getInputStream();
        ois = new ObjectInputStream(is);

        while(true){

            msg = (Messenger) ois.readObject(); 

            String methodType = msg.getKey();

            //validating various data passed from the serialized object
            if(methodType.equals("validateCard")){

            } else if(methodType.equals("validatePIN")){

            }

        }

   } catch (SQLException …
Run Code Online (Sandbox Code Playgroud)

java sockets serialization

1
推荐指数
1
解决办法
1万
查看次数

创建一个类以从Java中的另一个类调用其notify()

有没有反正,使A级调用notify(),它内部的,清醒的等待()该对象的锁的线程,在后台运行一个线程?

谢谢.

编辑:

请忽略不必要的代码.我想告诉你我是如何真正实现它的.

Messenger是一个序列化对象.

线程"ServerHandler"将调用 bufferImpObject.put(<Messenger Obj>, <ServerHandler instance>, <socket instance>)

public class BufferImp {
    private Messenger[] requests;
    public  static int req_size;
    public static int req_count;


     Socket s;
     Messenger msg;
     InputStream is;
     ObjectInputStream ois;
     OutputStream os;
     ObjectOutputStream oos;



    public BufferImp(int size) {
        this.req_size = size;
        this.req_count = 0;
        requests = new Messenger[size];

    }



     class CheckWaitThread extends Thread{
        Thread t;
        String s;
        Socket incoming_socket;



        CheckWaitThread(String s, Thread t, Socket incoming_socket){
            this.t = t;
            this.s = s; …
Run Code Online (Sandbox Code Playgroud)

java multithreading notify wait

1
推荐指数
1
解决办法
2281
查看次数

如何在Netbeans中恢复.java文件?

我的Netbeans Java项目没有显示.java文件.而是.class在构建目录中有编译文件.我仍然可以编辑代码.我需要以.java某种方式将文件放回原处.我怎样才能做到这一点?

java netbeans

1
推荐指数
1
解决办法
5060
查看次数

表示简单电路时的最佳数据结构 - C++

我正在做一个简单的电路系统来模拟C++中的欧姆定律.(V = IR)

为此,我使用Qt来制作GUI.用户可以连接不同的部件/组件,如电阻器,电池,电压表,电流表,灯泡,一旦点击启动按钮,电压表和电流表应显示读数.然后用户应该能够添加/移除电池.在做这个用户时应该意识到R是一个常数.

此外,如果使用灯泡,他们应该根据法律强度点亮.

我需要知道如何在代码中的数据结构中表示.

c++ simulation qt data-structures

1
推荐指数
1
解决办法
1297
查看次数

MySQL:创建表时"KEY"代表什么?

此代码提取来自KohanaJobs应用程序附带的database.sql文件.

CREATE TABLE IF NOT EXISTS `roles_users` (
  `user_id` int(10) unsigned NOT NULL,
  `role_id` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`user_id`,`role_id`),
  KEY `fk_role_id` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



CREATE TABLE IF NOT EXISTS `sessions` (
  `session_id` varchar(24) NOT NULL,
  `last_active` int(10) unsigned NOT NULL,
  `contents` text NOT NULL,
  PRIMARY KEY  (`session_id`),
  KEY `last_active` (`last_active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

为什么只是KEY在上面使用过?它只是暗示它们被用作FK吗?

mysql kohana

0
推荐指数
1
解决办法
253
查看次数

在Java中使用Reflections时出错

我在此代码中遇到了转换问题,但不知道如何纠正它.

public void showFrame(String className, Object controller) throws Exception{
    try {
       Class c = Class.forName("com." + className);
       // "(Object.class)" I want this to be of type held in className var
       // this type will be same as one passed into  "controller" at runtime
       Constructor ctr = c.getConstructor(Object.class);  
       ctr.newInstance(controller);
    } catch (ClassNotFoundException ex) {
        JOptionPane.showMessageDialog(null, "Error" );
    }
}
Run Code Online (Sandbox Code Playgroud)

java reflection casting

-2
推荐指数
1
解决办法
79
查看次数