import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; import java.io.*; import java.net.Socket; import java.sql.DriverManager; import java.text.SimpleDateFormat; import java.util.Date; import java.util.UUID; public class ServerSocketThread extends Thread { private Socket socket; public ServerSocketThread(Socket socket) { this.socket = socket; } public static String bytesToHexString(byte[] bytes) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < bytes.length; i++) { String hex = Integer.toHexString(0xFF & bytes[i]); if (hex.length() == 1) { sb.append('0'); } sb.append(hex); } return sb.toString(); } // @Override public void run() { InputStream is = null; InputStreamReader isr = null; BufferedReader br = null; OutputStream os = null; try { // socket获取字节输入流 is = socket.getInputStream(); // System.out.println(is); // 将字节输入流转字符输入流 isr = new InputStreamReader(is); // 将字符输入流转行输入流 br = new BufferedReader(isr); // String message = null; // int value=0; // while (!socket.isClosed()) { // while ((value = br.read()) != -1) { // char c = (char) value; // String str = Integer.toHexString(c); // System.out.println(socket.getLocalAddress().getHostAddress() + ":" + c); // } // } //--------------------------------------------------------------------- // while(!socket.isClosed()){ // while ((message=br.readLine())!= null) { // System.out.println("客户端ip-"+socket.getInetAddress().getHostAddress()+":"+socket.getPort()+"发来消息:"+message); // } // // } BufferedInputStream bis = new BufferedInputStream( socket.getInputStream()); DataInputStream dis = new DataInputStream(bis); byte[] bytes = new byte[1]; String ret = ""; int count=1; int i=1; Temperature temperature=new Temperature(); while (dis.read(bytes) != -1) { ret += bytesToHexString(bytes) + ""; if (dis.available() == 0) { //一个请求 System.out.println( socket.getInetAddress().getHostAddress()+ ":" + ret+"-----"+count); ret=""; } } } catch (Exception e) { e.printStackTrace(); } } }
-----------------------------------------------main方法--------------------------------------------------------------------------------------------------
import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) { try{ ServerSocket serverSocket = new ServerSocket(20001); System.out.println("服务端已启动,等待客户端连接.."); while (true){ Socket socket = serverSocket.accept(); System.out.println("已接收到客户端连接ip:"+socket.getInetAddress().getHostAddress()+":"+socket.getPort()); //新建一个线程ServerSocket,并开启 new ServerSocketThread(socket).start(); } }catch (Exception e){ // e.printStackTrace(); } } }