package TCP;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerDemo1 {
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(10000);
while (true) {
Socket s = ss.accept();
new Thread(new ServerThread(s)).start();
}
}
}
package TCP;
import java.io.*;
import java.net.Socket;
public class ServerThread implements Runnable {
private Socket s;
public ServerThread(Socket s) {
this.s = s;
}
@Override
public void run() {
try {
// 接收数据写到文本文件
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
// BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\develop\\javacode\\_53\\fff.txt"));
// 解决名称冲突问题
int count = 0;
File file = new File("F:\\develop\\javacode\\_53\\Copy[" + count + "].txt");
while (file.exists()) {
count++;
file = new File("F:\\develop\\javacode\\_53\\Copy[" + count + "].txt");
}
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
bw.flush();
}
// 给出反馈
BufferedWriter bww = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
bww.write("文件上传成功");
bww.newLine();
bww.flush();
s.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
package TCP;
import java.io.*;
import java.net.Socket;
//客户端:发送数据,数据来自于键盘录入,输入886,发送数据结束,接收服务器反馈
public class ClientDemo {
public static void main(String[] args) throws IOException {
//创建客户端的Socket对象
Socket s = new Socket("192.168.56.1", 10000);
// 获取输出流,写数据
/* OutputStream os = s.getOutputStream();
os.write("hello world!".getBytes());*/
BufferedReader br=new BufferedReader(new FileReader("F:\\develop\\javacode\\_53\\fff.txt"));
// 数据来自于键盘录入,输入886,发送数据结束
/* BufferedReader br = new BufferedReader(new InputStreamReader(System.in));*/
// 封装输出流对象
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line;
while ((line=br.readLine())!=null){
/*if ("886".equals((line))){
break;
}*/
bw.write(line);
bw.newLine();
bw.flush();
}
s.shutdownOutput();
// 接收服务器反馈
/*InputStream is = s.getInputStream();
byte[] bys = new byte[1024];
int len = is.read(bys);
String data = new String(bys,0,len);
System.out.println("客户端:"+data);*/
InputStream is = s.getInputStream();
System.out.println("收到");
br.close();
s.close();
}
}