本帖最后由 满兴旺 于 2014-4-24 23:10 编辑
/*
需求:上传图片。
*/
import java.io.*;
import java.net.*;
/*
客户端:
1,服务端点
2,读取一个文件
3,通过socket输出流将数据发给服务端
4,读取服务端反馈信息。
5,关闭
*/
class PicClient
{
public static void main(String[] args) throws Exception
{
//①
Socket s=new Socket("127.0.0.1",10007);
//②源:硬盘上的文件
FileInputStream fis=new FileInputStream("1.jpg");
//③目的:socket输出流
OutputStream out=s.getOutputStream();
byte[] buf=new byte[1024];
int len=0;
while((len=fis.read(buf))!=-1)
{
out.write(buf,0,len);
}
s.shutdownOutput();//------------------------------------------告诉服务端结束
InputStream in=s.getInputStream();
byte[] bufIn=new byte[1024];
int num=in.read(bufIn);
System.out.println(new String(buf,0,num));//读取一行
fis.close();
s.close();
}
}
class PicServer
{
public static void main(String[] args) throws Exception
{
ServerSocket ss=new ServerSocket(10007);
Socket s=ss.accept();
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip+"连入成功");
//源:socket输入流
InputStream fis=s.getInputStream();
//目的:硬盘上的文件
FileOutputStream fos=new FileOutputStream("2.jpg");
byte[] bufIn=new byte[1024];
int len=0;
while((len=fis.read(bufIn))!=-1)
{
fos.write(bufIn,0,len);
}
//输出反馈
OutputStream out=s.getOutputStream();
out.write("上传成功".getBytes());
fos.close();
s.close();
ss.close();
}
}
在我这客户端显示是:
能帮我调一下吗???
|
|