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());
|
}
|
}
|
}
|
}
|
|
|
}
|