socket-android写个注册程序时报java.io.StreamCorruptedException

问题描述

android写个注册程序时报java.io.StreamCorruptedException

求大神帮忙看一看,困了好久了,还是解决不了,先上点代码
public void onClick(View v) {
if (!userpassword1.getText().toString()
.equals(userpassword2.getText().toString())) {

            Toast.makeText(RegActivity.this, "密码不一致!", Toast.LENGTH_LONG)
                    .show();

            return;
        }
        Socket socket = null;
        try {
            socket = new Socket(Tools.IP, Tools.PORT_1);
            ObjectOutputStream oout = new ObjectOutputStream(
                    socket.getOutputStream());
            ObjectInputStream oin = new ObjectInputStream(
                    socket.getInputStream());

            Message m1 = new Message();
            Hashtable table = new Hashtable();
            table.put("userid", useridText.getText().toString());

            if (manb.isChecked()) {
                table.put("sex", "男");
            } else {

                table.put("sex", "女");
            }

            table.put("username", usernameText.getText().toString());
            table.put("age", userageText.getText().toString());
            table.put("userpassword", userpassword1.getText().toString());
            m1.setValue(table);
            m1.setType(m1.REG);

            oout.writeObject(m1);
            oout.flush();
            m1 = (Message) oin.readObject();
            if (m1.getReturnValue().get("message").toString()
                    .equalsIgnoreCase("ok")) {

                AlertDialog.Builder bb = new AlertDialog.Builder(
                        RegActivity.this);
                bb.setTitle("恭喜您,注册成功!");
                bb.setMessage("您的ID是:" + m1.getReturnValue().get("userid"));
                final String userid = m1.getReturnValue().get("userid")
                        .toString();

                bb.setNeutralButton("马上登录",
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                Intent in = new Intent();
                                in.setClass(RegActivity.this,
                                        LoginActivity.class);
                                in.putExtra("userid", userid);
                                startActivity(in);
                                RegActivity.this.finish();

                            }
                        });

                bb.setNegativeButton("退出",
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {

                                System.exit(0);

                            }
                        });
                bb.create().show();

            } else {
                Toast.makeText(
                        RegActivity.this,
                        "注册失败!"
                                + m1.getReturnValue().get("message")
                                        .toString(), Toast.LENGTH_LONG)
                        .show();
            }

        } catch (Exception e) {
            e.printStackTrace();
            Toast.makeText(RegActivity.this, "网络不通!"+e.getMessage(), Toast.LENGTH_LONG)
                    .show();

        } finally {
            try {
                socket.close();
            } catch (IOException e) {
            }
        }
    }

在try...catch那捕捉的异常是null;
不知道是不是自己写的服务器的问题,还是软件中的代码错误
报的警告是
java.io.StreamCorruptedException
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1700)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1653)
at com.erhuo.login.RegActivity$SubmitButtonOnClickListener.onClick(RegActivity.java:88)这里对应的那一行是 m1 = (Message) oin.readObject();

时间: 2024-09-21 16:58:15

socket-android写个注册程序时报java.io.StreamCorruptedException的相关文章

android开发-java服务器端出错java.io.StreamCorruptedException

问题描述 java服务器端出错java.io.StreamCorruptedException 报错信息:java.io.StreamCorruptedException: invalid stream header: 64000000 at java.io.ObjectInputStream.readStreamHeader(Unknown Source) at java.io.ObjectInputStream.(Unknown Source) at org.lxh.server.Serve

java.io.StreamCorruptedException: invalid type code: 62

问题描述 EJB+JBoss+SwingEJB部署在JBoss中,Swing调用EJB中的一个方法A(List<Object) lists),之后就报java.io.StreamCorruptedException: invalid type code: 62. 所传递的集合lists中起初包含一个未序列化的对象,但是我在调用A方法前将其移除后,还是报java.io.StreamCorruptedException: invalid type code: 62.请大家指点下 问题补充:Excep

java.io.StreamCorruptedException: invalid type code: AC我真的无能为力了,能帮帮我吗?

问题描述 在一台电脑上实现,客户端的端口不一样,至少要两个客户端才能实现?异常在Client50中由衷感谢服务器importjava.io.*;importjava.net.*;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Scanner;classUserimplementsSerializable{privateStringname;privateInetAddressid;privateintpor

source-Java出现了java.io.StreamCorruptedException

问题描述 Java出现了java.io.StreamCorruptedException java.io.StreamCorruptedException: invalid type code: 00 如题,我是在做模拟ATM的时候遇到问题 具体问题:java.io.StreamCorruptedException: invalid type code: 00 at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.

CB中用socket api写网络通讯程序

在7月4日看完sockcomp.pas后,我决定用socket api来写一个客户端和服务器并且同时支持TCP,UDP协议,于是我就去做,现将代码贴出来(已调试通过) Socket api Client:#ifndef UDPClientH#define UDPClientH#include <Classes.hpp>#include <Controls.hpp>#include <StdCtrls.hpp>#include <Forms.hpp>#incl

java io对象流问题

问题描述 我把一个对象用Objectoutputstream,对象流写进文本里,然后还写入了一些其他的文字,不是对象,我在读取这个文件的时候读出了这个对象后剩下的文字应该怎么读出来?能换输入流吗?我用Objectinputstream读对象后,再读内容报错了Exceptioninthread"main"java.io.StreamCorruptedException:invalidtypecode:D3 解决方案 解决方案二:再换输入流,怎么定位那个不是对象的字符?一般写入对象,即对象

java io学习(二十一) FileReader和FileWriter

FileReader和FileWriter源码分析 1. FileReader 源码(基于jdk1.7.40) package java.io; public class FileReader extends InputStreamReader { public FileReader(String fileName) throws FileNotFoundException { super(new FileInputStream(fil java io系列21之 InputStreamReade

java IO &amp;amp; NIO

IO.....      java.io.*     使用参考:http://www.cnblogs.com/rollenholt/archive/2011/09/11/2173787.html 类分层结构 java.lang.Object java.io.File (implements java.lang.Comparable<T>, java.io.Serializable) java.io.FileDescriptor java.io.InputStream (implements j

java socket 多线程-请问下面这个程序,在不改变功能的前提下,可以改装成多线程运行吗?*请贴上代码,谢谢*

问题描述 请问下面这个程序,在不改变功能的前提下,可以改装成多线程运行吗?*请贴上代码,谢谢* import java.net.*; // for Socket, ServerSocket, and InetAddress import java.io.*; // for IOException and Input/OutputStream public class Server { private static final int BUFSIZE = 32; // Size of receiv