package ti; import java.awt.EventQueue; import java.io.BufferedOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketException; public class SocketServer extends Thread { private boolean running = false; private boolean OutServer = false; private ServerSocket server; private static int ServerPort = 1234;// �n�ʱ���port public static String test; public static String test2; public static String Client_ip = null; Thread serverThread; public SocketServer() { try { server = new ServerSocket(ServerPort); } catch (java.io.IOException e) { System.out.println("Socket�Ұʦ����D !"); System.out.println("IOException :" + e.toString()); } } public void stop_thread() { OutServer = false; } public void run() { Socket socket; running = false; java.io.BufferedInputStream in; System.out.println("���A���w�Ұ� !"); while (!OutServer) { System.out.println(ServerPort); socket = null; try { synchronized (server) { socket = server.accept(); } try { socket.setTcpNoDelay(true); socket.setReceiveBufferSize(23); socket.setSendBufferSize(16); socket.setKeepAlive(true); socket.setPerformancePreferences(1, 2, 0); } catch (SocketException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } // TimeOut�ɶ� socket.setSoTimeout(10000); Client_ip = null; Client_ip = socket.getInetAddress().getHostAddress();// ����o�e��ip //��Ʀ�y�����r�� System.out.println("���o�s�u : InetAddress = " + socket.getInetAddress().getHostAddress()); in = new java.io.BufferedInputStream(socket.getInputStream()); byte[] b = new byte[256]; String data = ""; int length; while ((length = in.read(b)) > 0)// <=0���ܴN�O�����F { data += new String(b, 0, length); } test = (data); in.close(); in = null; socket.close(); } catch (java.io.IOException e) { System.out.println("Socket�s�u�����D !"); System.out.println("IOException :" + e.toString()); } } } public String getstring() { return test; } public String getstring2() { return test2; } public boolean isRunning() { return running; } }