socket server client

  • W5_659601
    了解作者
  • 4KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-05 12:19
    上传日期
服务器 客户端程序 客户端发请求然后连接,传输文本等等
socket.rar
  • socket
  • Server.java
    1.4KB
  • ByteServer.java
    1.3KB
  • FileClient.java
    1.4KB
  • FileServer.java
    1.8KB
  • Client.java
    1KB
  • ByteClient.java
    1021B
内容介绍
package socket; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class FileServer { public void start() { try { int port = 8080; ServerSocket server = new ServerSocket(port); System.out.println("server stated at:" + port); while(true) { // 等待客户端接入 Socket socket = server.accept(); // 输出当前成功接入的客户端IP地址 System.out.println(socket.getRemoteSocketAddress()); // 读取文件 InputStream ins = socket.getInputStream(); DataInputStream dins = new DataInputStream(ins); // 读取文件名 int nameLength = dins.readInt(); byte[] bName = new byte[nameLength]; dins.read(bName); String fileName = new String(bName); System.out.println("接收文件名:" + fileName); // 读取文件内容 int length = dins.readInt(); byte[] content = new byte[length]; dins.read(content); // 将接到的文件内容保存到本地 // 注意:如果客户端服务器在一台机器上,服务端另存文件时请选择不同盘符,否则将覆盖原文件 FileOutputStream fous = new FileOutputStream("d:/" + fileName); fous.write(content); fous.flush(); fous.close(); // 输出响应信息OK OutputStream ous = socket.getOutputStream(); DataOutputStream dous = new DataOutputStream(ous); byte[] response = "OK".getBytes(); dous.writeInt(response.length); dous.write(response); dous.flush(); // 关闭连接 dous.close(); dins.close(); socket.close(); } } catch (Exception ex) { ex.printStackTrace(); } } public static void main(String[] args) { FileServer fs = new FileServer(); fs.start(); } }
评论