리모컨 어플을 만들기 위해서 자바 프로젝트로 서버를 만들고
안드로이드 프로젝트로 클라이언트를 만드는 중인데요
소켓통신이 된 후 다른 작업을 하고 있엇는데 갑자기 소켓 통신이 안되네요.
고수님들 좀 봐주세요...
<Server.java> 입니다
import java.io.ObjectInputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args)
{
ServerSocket serverSocket;
int port = 5001;
try {
System.out.println("소켓 생성 중....");
serverSocket = new ServerSocket(port);
System.out.println("접속 포트 : " + port + "");
while(true){
Socket sock = serverSocket.accept();
InetAddress clientHost = sock.getLocalAddress();
int clientPort = sock.getPort();
System.out.println("Client host : " + clientHost + ", "
+ "port : " + clientPort);
ObjectInputStream in =
new ObjectInputStream(sock.getInputStream());
Object obj = in.readObject();
System.out.println("Input : " + obj);
sock.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
<Client.java> 입니다
package com.example.client;
import java.io.ObjectOutputStream;
import java.net.Socket;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
@SuppressLint("NewApi")
public class Client extends Activity {
int port = 5001;
EditText ipText;
Button connectBtn;
Button button_alertDialog;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ipText = (EditText)findViewById(R.id.ipText);
connectBtn = (Button)findViewById(R.id.connectBtn);
button_alertDialog = (Button) findViewById(R.id.connectBtn);
connectBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
SocketClient client = new SocketClient(ipText.getText().toString());
client.start();
/*
AlertDialog.Builder builder = new AlertDialog.Builder(Client.this);
builder.setTitle("Connection pass");
builder.setMessage("서버에 접속하였습니다.\n OK 버튼을 누르면 컨트롤러로 이동합니다.");
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
finish();
}
});
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
Intent intent = new Intent(Client.this, Controller.class);
startActivity(intent);
}
});
builder.show();
*/
}
});
}
public class SocketClient extends Thread {
String ip;
public SocketClient(String ip){
this.ip = ip;
}
@Override
public void run()
{
Socket socket = null;
try {
socket = new Socket(ip, port);
ObjectOutputStream out =
new ObjectOutputStream(socket.getOutputStream());
out.writeObject("To Android..");
out.flush();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
주석 부분은 제가 지금 코딩하고있는 작업 이구요
소켓통신이 되면 자바 서버 콘솔 부분에
소켓 생성 중....
접속 포트 : 5001
Client host : [ip 주소] , port : [포트 번호]
Input : To Android...
이렇게 4줄이 나와야 정상인데
연결이 안되니까
소켓 생성 중....
접속 포트 : 5001
이렇게 밖에 안나와요..... 대체 뭐가 잘못인지 소스좀 고쳐주세요