2011年6月15日 星期三

期末考-android client server

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class tcpserver {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
byte[] data = new byte[1024];
int temp;
try {
ServerSocket server0 = new ServerSocket(3334);
Socket socket = server0.accept();
BufferedInputStream bin = new BufferedInputStream(socket.getInputStream());

while((temp = bin.read())!= -1){
System.out.print((char)temp);
}
bin.close();

server0.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
ServerSocket server1 = new ServerSocket(3335);
Socket socket = server1.accept();
BufferedInputStream bin = new BufferedInputStream(socket.getInputStream());

while((temp = bin.read())!= -1){
System.out.print((char)temp);
}
bin.close();

server1.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

===============================================================
以上這邊是Server的程式部分,基本上與上課的大同小異,重點在於要在建立起一個新的Port 讓Client能夠同時連線...所以直接把中間那段,再見port的程式複製之後貼在下面,把port改3335,Server的部分就完成了...
===============================================================
至於Client的部分,也是利用上課的範例,把資料夾名稱改掉,再把專案載入進來,這樣就有兩個client的專案,一樣把第二個專案連結port的地方改掉,再把要輸出的字也改掉,就完成了..

=========================
package tw.brad.tcpclient;

import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.os.Bundle;

public class tcpclient extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
byte[] buffer = "This is client1".getBytes();
try {
Socket socket = new Socket("10.0.2.2", 3334);
BufferedOutputStream bout =
new BufferedOutputStream(socket.getOutputStream());
bout.write(buffer);
bout.flush();
bout.close();
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
==========================
以上為client1
==========================
package tw.brad.tcpclient;

import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.os.Bundle;

public class tcpclient extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
byte[] buffer = "\n This is client2".getBytes();
try {
Socket socket = new Socket("10.0.2.2", 3335);
BufferedOutputStream bout =
new BufferedOutputStream(socket.getOutputStream());
bout.write(buffer);
bout.flush();
bout.close();
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
====================
以上為Client2
====================

1 則留言: