Server Socket
package com.blogspot.na5cent.serverSocket;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author redcrow
*/
public class MyServerSocket {
private static final int SERVER_POTH = 8888;
public static void main(String[] args) {
ServerSocket server = null;
try {
server = new ServerSocket(SERVER_POTH);
System.out.println("wating for connect...");
while (true) {
Socket sock = server.accept();
System.out.println("client connected");
System.out.println(sock.getInetAddress());
System.out.println(sock.getPort());
System.out.println("------------------------------");
new Thread(new listener(sock)).start();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
server.close();
} catch (IOException ex) {
Logger.getLogger(MyServerSocket.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
class listener implements Runnable {
private Socket sock;
private DataInputStream inputStream = null;
private DataOutputStream outputStream = null;
public listener(Socket sock) {
this.sock = sock;
}
@Override
public void run() {
try {
while (true) {
inputStream = new DataInputStream(sock.getInputStream());
outputStream = new DataOutputStream(sock.getOutputStream());
outputStream.writeUTF("Hello client, i am server");
outputStream.flush();
System.out.println(inputStream.readUTF());
try {
Thread.sleep(500);
} catch (InterruptedException ex) {
Logger.getLogger(listener.class.getName()).log(Level.SEVERE, null, ex);
}
}
} catch (IOException ex) {
Logger.getLogger(listener.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
sock.close();
inputStream.close();
outputStream.close();
System.out.println("resource closed");
} catch (IOException ex) {
Logger.getLogger(listener.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
package com.blogspot.na5cent.clientSocket;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author redcrow
*/
public class MyClientSocket {
private static final int SERVER_POTH = 8888;
private static final String SERVER_IP = "localhost";
private static Socket sock;
private static DataInputStream inputStream = null;
private static DataOutputStream outputStream = null;
public static void main(String[] args) {
try {
sock = new Socket(SERVER_IP, SERVER_POTH);
System.out.println(sock.getInetAddress());
System.out.println(sock.getPort());
System.out.println("------------------------------");
while (true) {
inputStream = new DataInputStream(sock.getInputStream());
outputStream = new DataOutputStream(sock.getOutputStream());
System.out.println(inputStream.readUTF());
outputStream.flush();
outputStream.writeUTF("Hello server, i am client");
try {
Thread.sleep(500);
} catch (InterruptedException ex) {
Logger.getLogger(MyClientSocket.class.getName()).log(Level.SEVERE, null, ex);
}
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
sock.close();
inputStream.close();
outputStream.close();
System.out.println("resource closed");
} catch (IOException ex) {
Logger.getLogger(MyClientSocket.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}


ไม่มีความคิดเห็น:
แสดงความคิดเห็น