SocketSever
import java.net.ServerSocket;
import java.net.Socket;
public class SocketServer extends java.lang.Thread{
private boolean OutServer = false;
private ServerSocket server ;
private final int ServerPort = 8765;//要監控的port
public SocketServer(){
try{
server = new ServerSocket(ServerPort);
}catch(java.io.IOException e){
System.out.println("Socket啟動有問題 !" );
System.out.println("IOException :" + e.toString());
}
}
public void run(){
Socket socket ;
java.io.BufferedInputStream in ;
System.out.println("伺服器已啟動 !" );
while(!OutServer){
socket = null;
try{
synchronized(server) {
socket = server.accept();
}
System.out.println("取得連線 : InetAddress = " + socket.getInetAddress() );
//TimeOut時間
socket.setSoTimeout(15000);
in = new java.io.BufferedInputStream(socket.getInputStream());
byte[] b = new byte[1024];
String data ="";
int length;
while((length = in.read(b))>0)//<=0的話就是結束了
{
data += new String(b, 0, length);
}
System.out.println("我取得的值:"+data);
in.close();
in = null ;
socket.close();
}catch(java.io.IOException e){
System.out.println("Socket連線有問題 !" );
System.out.println("IOException :" + e.toString());
}
}
}
public static void main(String args[]){
(new SocketServer()).start();
}
}
SocketClient
import java.net.InetSocketAddress;
import java.net.Socket;
import java.io.BufferedOutputStream;
public class SocketClient {
private String address = "127.0.0.1";// 連線的ip
private int port = 8765;// 連線的port
public SocketClient() {
Socket client = new Socket();
InetSocketAddress isa = new InetSocketAddress(this.address, this.port);
try {
client.connect(isa, 10000);
BufferedOutputStream out = new BufferedOutputStream(client
.getOutputStream());
// 送出字串
out.write("Send From Client ".getBytes());
out.flush();
out.close();
out = null;
client.close();
client = null;
} catch (java.io.IOException e) {
System.out.println("Socket連線有問題 !");
System.out.println("IOException :" + e.toString());
}
}
public static void main(String args[]) {
new SocketClient();
}
}
沒有留言:
張貼留言