server端代码
import java.net.*; import java.io.*; public class ServerTcpListener implements Runnable{ public static void main(String[] args){ try{ final ServerSocket server = new ServerSocket(); InetAddress addr = java.net.Inet4Address.getLocalHost(); SocketAddress address = new InetSocketAddress(addr,30000); server.bind(address); Thread th = new Thread(new Runnable(){ public void run(){ while(true){ try{ System.out.println ("开始监听..."); Socket socket = server.accept(); System.out.println ("有链接"); ReciveImg(socket); }catch(Exception e){ } } } }); th.run(); }catch(Exception e){ } } public void run(){ } public static void ReciveImg(Socket socket){ byte[] inputByte = new byte[1024]; int length=0; try{ InputStream is = socket.getInputStream(); //OutputStream os = socket.getOutputStream(); java.io.FileOutputStream fos = new FileOutputStream(new File("d:/pic/cc.jpg")); System.out.println ("开始接收数据..."); while((length = is.read(inputByte,0,inputByte.length))>0) { System.out.println (length); fos.write(inputByte); fos.flush(); } is.close(); //os.close(); fos.close(); System.out.println ("完成接收"); }catch(Exception e){ } } }
client 端
import java.net.*; import java.io.*; public class ClientTcpSend{ public static void main(String[] args){ int length=0; byte[] sendBytes=new byte[1024]; try{ Socket socket = new Socket(); InetAddress addr = socket.getInetAddress().getLocalHost(); SocketAddress saddr = new InetSocketAddress(addr,30000); socket.connect(saddr); OutputStream ops = socket.getOutputStream(); File file = new File("C:\\Documents and Settings\\Administrator\\My Documents\\My Pictures\\1920x1080.jpg"); java.io.FileInputStream fos = new FileInputStream(file); while((length = fos.read(sendBytes,0,sendBytes.length))>0){ ops.write(sendBytes); ops.flush(); } Thread.sleep(1000); ops.close(); fos.close(); socket.close(); }catch(Exception e){ } } }