안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 간단한 채팅 프로그램 짜고있는데요
서버는 MFC로 제작 , 클라이언트는 안드로이드로 제작햇습니다.
MFC에서 구조체를 정의햇어요
typedef struct Test// {
int clientid;
Rs rs; // <=== typedef enum으로 만든 자료형
int age;
}Test;
그리고 서버에서 버튼을 누루면 클라이언트에게 Test 구조체를 보냅니다.
안드로이드에서는
1.Test클래스를만들고 implements Serializable 해서 직렬화가능하게 햇어요 (enum형 의 크기가 4바이트라 Int형으로 만듬)
2. Socket역할을 하는 스레드를 상속받은 클래스를 정의해서 서버와 연결하는데 성공햇습니다.
이 Socket클래스에 Run부분에
이렇게 햇는데 서버에서 버튼을누루면 안드로이드에서 다음과같은 에러가납니다.
java.io.streamcorruptedException
at java.Io.ObjectInputStream .readStreamHeader(ObjectInputStream.java)
at java.io.ObjectInputStream <init>(ObjectInputStream.java)
at 패키지명 .run()
at java lang.Thread run(Thread java)
이거때문에 고생이많내요 아시는분 도움좀 주세요
서버는 MFC로 제작 , 클라이언트는 안드로이드로 제작햇습니다.
MFC에서 구조체를 정의햇어요
typedef struct Test// {
int clientid;
Rs rs; // <=== typedef enum으로 만든 자료형
int age;
}Test;
그리고 서버에서 버튼을 누루면 클라이언트에게 Test 구조체를 보냅니다.
안드로이드에서는
1.Test클래스를만들고 implements Serializable 해서 직렬화가능하게 햇어요 (enum형 의 크기가 4바이트라 Int형으로 만듬)
2. Socket역할을 하는 스레드를 상속받은 클래스를 정의해서 서버와 연결하는데 성공햇습니다.
이 Socket클래스에 Run부분에
try
{
client = new Socket("203.244.147.16",5202);
Log.d("TCP", "C: Connecting...");
InputStream is = client.getInputStream();
ObjectInputStream ois = new ObjectInputStream(is);
OutputStream os = client.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(os);
while(true)
{
try
{
Test test =null;
test= (Test)ois.readObject();
Log.d("TCP", "ReadTest : "+datapack.toString());
}
catch(ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
ois.close();
is.close();
oos.close();
os.close();
client.close();
return;
}
}
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} 이렇게 햇는데 서버에서 버튼을누루면 안드로이드에서 다음과같은 에러가납니다.
java.io.streamcorruptedException
at java.Io.ObjectInputStream .readStreamHeader(ObjectInputStream.java)
at java.io.ObjectInputStream <init>(ObjectInputStream.java)
at 패키지명 .run()
at java lang.Thread run(Thread java)
이거때문에 고생이많내요 아시는분 도움좀 주세요



