package PbuliClass; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import Frame.TcpIpManage; public class TcpServer implements Runnable { int port = 50000; ServerSocket server = null; Socket client = null; String recivemessage=""; //¹¹Ôì·½·¨ public TcpServer(){ try { server = new ServerSocket(port);//·þÎñÆ÷Ì×½Ó×Ö TcpIpManage.get_text_area().append("·þÎñÆ÷Æô¶¯³É¹¦µÈ´ý¿Í»§½ÓÈë......"); } catch (IOException e) { } } public static String bytesToHexString(byte[] src) { StringBuilder stringBuilder = new StringBuilder(""); if (src == null || src.length <= 0) { return null; } for (int i = 0; i < src.length; i++) { int v = src[i] & 0xFF; String hv = Integer.toHexString(v); if (hv.length() < 2) { stringBuilder.append(0); } stringBuilder.append(hv); } return stringBuilder.toString(); } /**½«×Ö½ÚÊý×éת»»Îª16½øÖÆÊä³ö*/ public static String BytesHexString(byte[] b) { String ret = ""; for (int i = 0; i < b.length; i++) { String hex = Integer.toHexString(b[i] & 0xFF); if (hex.length() == 1) { hex = '0' + hex; } ret += hex.toUpperCase(); } return ret; } /**Æô¶¯Ï̵߳ķ½·¨*/ public void startThread() { Thread t=new Thread(this); t.start(); } public void run() { while (true) { try { client= server.accept();//µÈ´ý¿Í»§¶ËÁ¬½Ó£¬·µ»ØÁ¬½Ó³É¹¦µÄSOCKET¶ÔÏó TcpIpManage.get_text_area().append("¿Í»§¶ËµØÖ·£º" + client.getInetAddress()); // ×°ÊÎÁ÷BufferedReader·â×°ÊäÈëÁ÷£¨½ÓÊÕ¿Í»§¶ËµÄÁ÷£© BufferedInputStream buffin = new BufferedInputStream(client.getInputStream()); DataInputStream datainput = new DataInputStream(buffin ); byte[] bytes = new byte[1]; //ÉêÃ÷Ò»¸ö×Ö½ÚÊý×é while (datainput.read(bytes) != -1) { recivemessage += bytesToHexString(bytes) + " "; if (datainput.available() == 0) { //Ò»¸öÇëÇó TcpIpManage.get_text_area().append(recivemessage+"\n"); } } } catch (IOException e) { ShowMessage.zidingyi(e.getMessage()); } finally { try { client.close(); } catch (IOException e) { ShowMessage.zidingyi(e.getMessage()); } } } } }