当前位置: 代码迷 >> Java相关 >> 还是TCP协议
  详细解决方案

还是TCP协议

热度:409   发布时间:2012-11-30 21:17:13.0
还是TCP协议
现在传东西不会丢失了,但我想我文件的名字传过去,接受的时候该怎么写?
客户端:
package jj;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

public class TcpOneToManyClient {
    public static void main(String[] args) throws UnknownHostException, IOException {
        Socket socket = new Socket("127.0.0.1", 7751);
        DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
        String filename="D://myeclips//新建文件夹(2)//XuLieHua//bin//com//guo//big//Student.class";
        DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream(filename)));
        int c = 0;
        
     //   dos.writeBytes(filename);
        while((c = dis.read()) != -1) {
            dos.write(c);
        }
        dos.close();
        dis.close();
    }
}
服务器端:
package jj;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.net.Socket;
public class TcpOneToManyServer {

    public static int socketNumber = 1;
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(7751);
        System.out.println("Server is running");
        while(true) {
            Socket socket = serverSocket.accept();
            SocketHandle socketHandle = new SocketHandle(socket, socketNumber++);
            socketHandle.start();
        }
    }
}


class SocketHandle extends Thread {
    private Socket socket;
    private int socketNumber;
    public SocketHandle(Socket socket, int socketNumber) {
        this.socket = socket;
        this.socketNumber = socketNumber;
    }
    public void run(){
        try {
        DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("D://" + socketNumber + ".class")));
        DataInputStream dis = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
        PrintWriter pw = new PrintWriter(socket.getOutputStream());
        //int str=dis.readInt();
    //    System.out.println(str);
   
        int c = 0;
        while((c = dis.read()) != -1) {
            dos.write(c);
        }
        pw.println("aa");
        pw.flush();
        pw.close();
        dos.close();
        dis.close();
        
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}
搜索更多相关的解决方案: 客户端  package  public  import  

----------------解决方案--------------------------------------------------------
不用大神们看了,已经搞好了哈
----------------解决方案--------------------------------------------------------
  相关解决方案