간단한 로그인 장치를 만들고 있는데 가상 에뮬로 돌릴때는 소켓으로 통신이 가능한데
현재 사용하고 있는 겔럭시 s2로 같은 와이파이 존에서 실행했을때 통신이 안됩니다. ㅠㅠ
방화벽 문제, 허니콤 버전일땐 따로 쓰래드를 써라고 하는데...어떤 문제가 있는지 확인을 못하겠어요
고수님들 제발 도와주세요
05-15 15:56:06.800: W/System.err(17455): java.net.SocketTimeoutException: Connection timed out
05-15 15:56:06.800: W/System.err(17455): at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)
05-15 15:56:06.800: W/System.err(17455): at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357)
05-15 15:56:06.800: W/System.err(17455): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:204)
05-15 15:56:06.800: W/System.err(17455): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
05-15 15:56:06.800: W/System.err(17455): at java.net.Socket.startupSocket(Socket.java:724)
05-15 15:56:06.800: W/System.err(17455): at java.net.Socket.tryAllAddresses(Socket.java:150)
05-15 15:56:06.800: W/System.err(17455): at java.net.Socket.<init>(Socket.java:209)
05-15 15:56:06.800: W/System.err(17455): at java.net.Socket.<init>(Socket.java:176)
05-15 15:56:06.800: W/System.err(17455): at com.mamuri.dontcallrollapp.DontCallRoll$2$1.run(DontCallRoll.java:59)
이부분 때문에 안되는거 같은데 ㅠㅠ
--------------어플 용 소스입니다.-------------------------------------
public void onClick(View arg0) {
Log.i("onclick", "온클릭 입력 확인");
try {
new Thread() {
public void run() {
try {
socket = new Socket("아이피주소",
portNumber);
Log.i("socket", "소켓 연결 됨");
outstream = new ObjectOutputStream(socket.getOutputStream());
outstream.writeObject(1);
outstream.writeObject(id.getText().toString());
outstream.writeObject(pass.getText().toString());
outstream.flush();
outstream.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
---서버용------------------------------------
public Server(){
try{
int portNumber = 1448;
String ID="";
String PASS="";
String schoolnum="";
String password="";
String name="";
String phon="";
ServerSocket aServerSocket = new ServerSocket(portNumber);
System.out.println("서버 연결");
while(true){
Socket sock = aServerSocket.accept();
ObjectInputStream instream = new ObjectInputStream(sock.getInputStream());
Response = (int)instream.readObject();
InetAddress ClientHost = sock.getLocalAddress();
int clientPort = sock.getPort();
System.out.println(ClientHost + " " + clientPort);
switch(Response){
case 0:
dbmain = new DBMain();
schoolnum = (String)instream.readObject();
password = (String)instream.readObject();
name = (String)instream.readObject();
phon = (String)instream.readObject();
System.out.println("회원정보 받기");
System.out.println(schoolnum + " " + password + " " + name + " " + phon);
dbmain.studentsign(schoolnum, password, name, phon);
break;
case 1:
dbmain = new DBMain();
ID = (String)instream.readObject();
PASS = (String)instream.readObject();
System.out.println("아이디, 비밀번호 받기");
System.out.println(ID + " " + PASS);
dbmain.login(ID, PASS);
break;
}
sock.close();