⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 signatureserver.java

📁 一个JAVA小程序!功能不小!
💻 JAVA
字号:
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.net.Socket;import java.net.ServerSocket;public class SignatureServer {  private int port = 1923;  private ServerSocket serverSocket;  class ServerThread implements Runnable {    private Socket socket;    private DataInputStream datain;    private DataOutputStream dataout;    public ServerThread(Socket socket) {      this.socket = socket;    }    public void run() {      try {        datain = new DataInputStream(new BufferedInputStream          (socket.getInputStream()));        dataout = new DataOutputStream(new BufferedOutputStream          (socket.getOutputStream()));      }      catch (IOException e) {        return;      }      byte[] ba = new byte[6];      boolean conversationActive = true;      while(conversationActive) {        String name = null;        try {          datain.read(ba,0,6);          name = new String(ba);          if (name.toUpperCase().charAt(0) == '$') {            conversationActive = false;          }          else {            System.out.println("verifying signature for = " + name);            byte[] ia = getImage("ptremblett.png");            String sl = Integer.toString(ia.length) + "\n";System.out.println("sending length = " + sl);            dataout.write(sl.getBytes(),0,sl.length());            dataout.flush();System.out.println("sending " + ia.length + " bytes");            dataout.write(ia,0,ia.length);            dataout.flush();System.out.println("signature sent");          }        }        catch (IOException ioe) {          conversationActive = false;        }      }      try {        System.out.println("closing socket");        datain.close();        dataout.close();        socket.close();      }      catch (IOException e) {      }    }    private byte[] getImage(String fname) {      byte[] ba = new byte[0];      try {        File f = new File(fname);        ba = new byte[(int)f.length()];        BufferedInputStream bis =           new BufferedInputStream(new FileInputStream(f));        int nb = bis.read(ba,0,ba.length);System.out.println("nb = " + nb);        bis.close();      }      catch (IOException e) {      }      finally {        return ba;      }    }  }  public void acceptConnections() {    try {      serverSocket = new ServerSocket(1921);    }    catch (IOException e) {      System.err.println("ServerSocket instantiation failure");      e.printStackTrace();      System.exit(0);    }    while (true) {      try {        Socket newConnection = serverSocket.accept();        System.out.println("accepted connection");        ServerThread st = new ServerThread(newConnection);        new Thread(st).start();      }      catch (IOException ioe) {        System.err.println("server accept failed");      }    }  }      public static void main(String args[]) {    SignatureServer server = new SignatureServer();    server.acceptConnections();  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -