자바 socket 기반 전송 zip 파일 기능 예시

3204 단어 자바socket
이 실례 는 자바 가 socket 을 바탕 으로 zip 파일 을 전송 하 는 방법 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
서버 쪽 프로그램:

import java.io.*;
import java.net.*;
import java.io.BufferedInputStream;
public class SocketServer {
ServerSocket ss=null;
Socket s=null;
DataInputStream inStream=null;
DataOutputStream outStream=null;
FileInputStream fin = null;
public SocketServer() {
 try{
  ss=new ServerSocket(765);
  s.setSoTimeout(3000);
 }catch(Exception e){
  System.out.println(e.toString());
 }
}
void waitForClient(){
 try{
 while(true){
 s=ss.accept();
 ThreadServer thread = new ThreadServer(s);
 thread.start();
 }
 }catch(Exception e){
  System.out.println(e.toString());
 }
}
public static void main(String[] args) {
SocketServer socketServer1 = new SocketServer();
socketServer1.waitForClient();
}
}

스 레 드 클래스:

import java.io.*;
import java.net.*;
class ThreadServer extends Thread{
 private Socket socket;
 private DataInputStream inStream=null;
 private DataOutputStream outStream=null;
 private FileInputStream fin = null;
 public ThreadServer(Socket sock){
  this.socket = sock;
 }
 public void run(){
 boolean bool = false;
 //while(!bool){
 try{
 inStream=new DataInputStream(socket.getInputStream());
 outStream=new DataOutputStream(socket.getOutputStream());
 fin = new FileInputStream("C:/temp/socket/200212060001_ds.zip");
 //socket.setSoTimeout(3000);
 byte[] b = new byte[200];
 int i;
 while((i=fin.read(b))!=-1){
 outStream.write(b);
 }
 fin.close();
 socket.close();
 //bool = true;
 }catch(IOException ex){
 System.out.println(ex);
 }
 //}
 }
}

클 라 이언 트:

import java.net.*;
import java.io.*;
public class SocketClient{
Socket s=null;
DataInputStream inStream=null;
DataOutputStream outStream=null;
FileOutputStream fout = null;
public SocketClient() {
try{
s=new Socket("192.9.207.52",765); //    IP     SocketServer.class IP
inStream=new DataInputStream(s.getInputStream());
outStream=new DataOutputStream(s.getOutputStream());
fout = new FileOutputStream("C:/temp/socket/test11.zip");
s.setSoTimeout(3000);
waitData();
}
catch(Exception e){
System.out.println(e.toString());
}
}
void init() throws Exception{
}
void waitData(){
try{
 byte[] b = new byte[200];
 int i;
 while((i=inStream.read(b))!=-1){
  fout.write(b);
 }
 fout.flush();
 fout.close();
 s.close();
}catch(Exception e){
System.out.println(e.toString());
}
}
public static void main(String[] args) {
SocketClient socketClient1 = new SocketClient();
}
}

자바 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기