버튼을 누르면 자바서버로 메시지를 보내는 건데 에뮬레이터로 돌리면 실행이 되는데 핸드폰으로 옴기면 연결이 안되요
package air.remote;
import java.io.BufferedInputStream;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Remote extends Activity {
private Socket socket;
private BufferedWriter networkWriter;
private String ip = "192.168.0.6"; // IP
private int port = 9999; // PORT번호
private int count = 0;
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
try {
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
setSocket(ip, port);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Button btn = (Button) findViewById(R.id.on);
Button btn1 = (Button) findViewById(R.id.off);
Button btn2 = (Button) findViewById(R.id.up);
Button btn3 = (Button) findViewById(R.id.down);
Button btn4 = (Button) findViewById(R.id.play);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
PrintWriter out = new PrintWriter(networkWriter, true);
out.println("1");
TextView view = (TextView)findViewById(R.id.on);
}
});
btn1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
PrintWriter out = new PrintWriter(networkWriter, true);
out.println("2");
TextView view = (TextView)findViewById(R.id.off);
}
});
btn2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
PrintWriter out = new PrintWriter(networkWriter, true);
out.println("3");
TextView view = (TextView)findViewById(R.id.up);
}
});
btn3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
PrintWriter out = new PrintWriter(networkWriter, true);
out.println("4");
TextView view = (TextView)findViewById(R.id.down);
}
});
btn4.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
PrintWriter out = new PrintWriter(networkWriter, true);
out.println("5");
TextView view = (TextView)findViewById(R.id.play);
if(count == 0)
{
view.setText("중지");
count = 1;
}
else if(count == 1)
{
view.setText("재생");
count = 0;
}
}
});
}
public void setSocket(String ip, int port) throws IOException {
try {
socket = new Socket(ip, port);
networkWriter =
new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
} catch (IOException e) {
System.out.println(e);
e.printStackTrace();
}
}
}




로컬서버는 말 그대로 서버가 설치된 시슴템 내에서만 사용이 가능하그 때문에 다른 곳에서 접근할 수 없는 것 같아요~