客户端:
public class MyClient { public static void main(String[] args) { try { Socket s = new Socket("192.168.0.106",9090); OutputStream ops = s.getOutputStream(); ops.write("gg".getBytes()); ops.close(); } catch (IOException e) { e.PRintStackTrace(); } }}服务端:public class MyServer { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(9090); System.out.println("服务器开启"); while(true){ Socket socket = serverSocket.accept(); new ServiceThread(socket); } } catch (IOException e) { e.printStackTrace(); } }}服务端线程public class ServiceThread implements Runnable{ Socket socket; private InputStream iS; public ServiceThread(Socket socket){ this.socket = socket; InetAddress address = socket.getInetAddress(); System.out.println("---客户端连接:"+address+"---"); try { iS = socket.getInputStream(); } catch (IOException e) { e.printStackTrace(); } new Thread(this).start(); } @Override public void run() { while(true){ try{ String msg = MessageUtil.read(iS); System.out.println("客户端发送的消息:"+msg); Thread.sleep(200); }catch(Exception e){ System.out.println("---客户端关闭连接---"); break; } } }}信息的读与写的方法public class MessageUtil { public static String read(InputStream iS){ try { byte[] b = new byte[1024];//缓存数组(1k) int length = -1; String content = ""; while((length = iS.read(b))!= -1){ String result = new String(b,0,length); if("#end#".equals(result)){ break; }else{ content += result; } } return content; } catch (Exception e) { throw new RuntimeException(); } } public static void write(OutputStream ops,String t){ try { ops.write(t.getBytes()); ops.write("#end#".getBytes()); } catch (IOException e) { e.printStackTrace(); } } }
新闻热点
疑难解答