黑马程序员技术交流社区
标题:
网络编程知识代码练习
[打印本页]
作者:
cloud1991
时间:
2015-9-24 10:25
标题:
网络编程知识代码练习
本帖最后由 cloud1991 于 2015-9-24 10:32 编辑
利用TCP协议上传文件到服务器:
//客服端
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
public class ClientDemo {
public static void main(String[] args) throws IOException {
Socket s = new Socket("10.164.22.254", 48264);
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
"a.txt"));
BufferedOutputStream bos = new BufferedOutputStream(s.getOutputStream());
byte[] bys = new byte[1024];
int len = 0;
while ((len = bis.read(bys)) != -1) {
bos.write(bys, 0, len);
// 需要刷新,不然数据写不进去
bos.flush();
}
// 通知服务器已经完成了传输
s.shutdownOutput();
InputStream bis2 = s.getInputStream();
byte[] bys2 = new byte[1024];
int len2 = bis2.read(bys2);
String str = new String(bys2, 0, len2);
System.out.println(str);
bis.close();
s.close();
}
}
//f服务器端
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerDemo {
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(48264);
Socket s = ss.accept();
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream("Copy.txt"));
BufferedInputStream bis = new BufferedInputStream(s.getInputStream());
byte[] bys = new byte[1024];
int len = 0;
while ((len = bis.read(bys)) != -1) {
bos.write(bys, 0, len);
}
OutputStream bos2 = s.getOutputStream();
bos2.write("上传成功".getBytes());
s.close();
bos.close();
}
}
复制代码
作者:
jiaweizhang
时间:
2015-9-24 10:34
收藏了,谢谢分享
作者:
生存追求
时间:
2015-9-24 11:07
总结的很好!
作者:
heshiwei
时间:
2015-9-24 12:41
Socket编程无非就是字节流 流来流去。掌握这个规律,就很简单了。
作者:
冰霜之卅
时间:
2015-9-24 15:57
回顾下基本流程
1 建立 Socket
2. 建立读取流 BufferedReader 读取本地信息
3. 建立读取流 读取 网络信息 Socket.getInputStream
4.输出信息流 PrintaWriter
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2