私は自分のPCをサーバーとして使用し、ソケットを作成するだけです。そして、クライアントソースでは、PCに接続するソケットを作成するだけです。しかし、携帯電話でアプリを開くと、アプリが停止していることが表示されます...プロジェクトにインターネットの許可を追加しました。
サーバ
public class Server extends Thread{
private Socket client;
public Server(Socket c){
this.client = c;
}
public void run(){
try{
//System.out.println("Start!");
BufferedReader in =
new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream());
while(true){
String str = in.readLine();
System.out.println(str);
out.println("has receive...");
out.flush();
if(str.equals("end"))
break;
}
client.close();
}
catch(IOException ex){
}finally{
}
}
public static void main(String[] args) throws IOException{
ServerSocket server = new ServerSocket(2345);
System.out.println("Start!");
while (true){
Server sv = new Server(server.accept());
sv.start();
}
}
}
クライアント:
public class MainActivity extends Activity {
Socket socket;
DataInputStream dis;
DataOutputStream dos;
private TextView tv;
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.TextView1);
bt = (Button) findViewById(R.id.button1);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try{
socket = new Socket("155.69.149.221",2345);
tv.setText("Connected!");
}catch(IOException ioe){
}
}
});
}
}