程序猿专用壁纸(精品收藏)



  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
自己写的,望多指教。import java.io.*; import java.net.*; public class link implements Runnable { public ServerSocket serversocket=null;//服务器套接字对象 public Socket socket=null;//客户端套接字 public PrintWriter out=null;//输出流对象 public BufferedReader in=null;//输入流对象 public DataOutputStream tsf=null;//输出流对象 public DataInputStream rcv=null;//输入流对象 public FileOutputStream fos=null;//文件输入流 public FileInputStream fis=null;//文件输出流 byte[] buf; public int patch,patch1; link(){} //创立连接 public void Screateconnect() { try { serversocket=new ServerSocket(9999);//ServerSocket对象监听端口 socket=serversocket.accept();//ServerSocket对象监听到端口并创建套接字 serversocket.close(); } catch(IOException e) { System.out.print("create fail!"); } } public void Ccreateconnect(String ip) { try { socket=new Socket(ip,9999);//创建套接字 } catch(Exception e) { System.out.print("创立连接失败!"); } } //管道通信 //通信内容 //1.文件接发请求以及相关数据 //2.登录、退出信息 //3.视屏聊天请求 public void Cduct() { } public void Sduct() { output("ftn"+String.valueOf(patch)); } //进行聊天 public void output(String str) { try { out=new PrintWriter(socket.getOutputStream(),true);//打开输出流 out.println(str);//发送信息 } catch(Exception e) { System.out.print("输出流创建失败!"); } } public void run() { while(true) { try { in=new BufferedReader(new InputStreamReader(socket.getInputStream()));//打开接受输入流 String str = in.readLine();//输出接受信息 if("ftn".equals(substring(0,3))) { patch1=Integer.parseInt(str.substring(4)); recevie(); } else { System.out.println(in.readLine()); } } catch(Exception e) { System.out.print("输入流创建失败!"); } } } //接受各类文件 public void transmission() { try { tsf=new DataOutputStream(socket.getOutputStream());//打开输出流 fis = new FileInputStream("E:\\程序\\java\\1.AVI"); buf = new byte[1024]; long streamnum=fis.available(); int c=(int) Math.floor(streamnum/1024); patch=(int)streamnum24; Sduct();//发出尾数 if(c>0) { for(int i=0;i<c;i++) { fis.read(buf); tsf.write(buf);//发送信息 tsf.flush(); } } byte[] buff=new byte[c]; System.out.print(buff.length+"\n"); fis.read(buff); tsf.write(buff);//发送信息 tsf.flush(); tsf.close(); fis.close(); } catch(Exception e) { e.printStackTrace(); } } public void recevie() { try { rcv=new DataInputStream(socket.getInputStream());//打开接受输入流 fos = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\1.avi",true);System.out.print("12\n"); buf = new byte[1024]; int c=0; int j=0; if(rcv.available()>1024) { while((c=rcv.read(buf))!=-1) { j++; fos.write(buf); fos.flush(); if(rcv.available()<1024)break; } } buf = new byte[patch1]; while((c=rcv.read(buf))!=-1) { fos.write(buf); fos.flush(); } rcv.close(); fos.close(); } catch(Exception e) { System.out.print("输入流创建失败!2"); } } public void close() { try { in.close(); socket.close(); }catch(Exception ex) { System.out.print("关闭失败"); } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值