黑马程序员技术交流社区

标题: 有关于Socket write error问题、 [打印本页]

作者: 陈斌    时间: 2012-2-28 19:07
标题: 有关于Socket write error问题、
package five.day;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;

public class demop2 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub

        }

}
/*
需求:上传图片。


*/  
/*
客户端:
1、服务端点。
2、读取客户端已有的图片数据
3、通过Socket输出流,将数据发给服务端
4、读取服务端反馈的信息
5、关闭
*/  
class PCliencet
{
       
        public static void main(String[] args) throws  IOException {
                // TODO Auto-generated method stub
                Socket s=new Socket("127.0.0.1",10008);
                FileInputStream fis=new FileInputStream("g:/java/java网络2/1.jpg");
                OutputStream os=s.getOutputStream();
                byte buf[]=new byte[1024];
                System.out.println("11"+buf);
                int len=0;
                while((len=fis.read(buf))!=-1)
                {
                         System.out.println("55"+buf);
                        os.write(buf,0,len);
                         System.out.println("55");
                       
                }
           s.shutdownOutput();
          InputStream is=s.getInputStream();
   byte b[]=new byte[1024];
   int num=is.read(b);
   String sss=new String(b,0,num);
   System.out.println(sss);
   fis.close();
        s.close();
        }
       
       
}
class pServer
{
        public static void main(String args[]) throws IOException
        {
                ServerSocket ss=new ServerSocket(10008);
                Socket s=ss.accept();
                FileOutputStream fos=new FileOutputStream("g/java/java网络2/55.jpg");
                InputStream in=s.getInputStream();
                byte buf[]=new byte[1024];
                int len=0;
                while((len=in.read(buf))!=-1)
                {
                        fos.write(buf,0,len);
                }
                OutputStream os=s.getOutputStream();
                os.write("上传成功!".getBytes());
                fos.close();
                s.close();
                ss.close();
        }
}

为什么客服端的打印的方法发现buf为空、、为什么没读到字节呢??
作者: 陈斌    时间: 2012-2-28 19:41
好吧 大意了  路径写错了g/java/java网络2/55.jpg 少了个:




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2