TCP通信程序的练习3
- 客户端:发送数据,数据来自与键盘录入,直到输入的数据是886,发送数据结束
ClientDemo类
package Demo;
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class ClientDemo {
public static void main(String[] args) throws IOException {
//建立客户端
Socket sgs = new Socket(InetAddress.getByName("sgs").getHostAddress(), 1110);
//获取输出流,写数据,采取字符缓冲流(一次写入一行)
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(sgs.getOutputStream()));
String line;
System.out.println("请输入你要输入的数据");
while((line= br.readLine())!=null){
if ("886".equals(line)){
break;
}else {
bw.write(line);
bw.newLine();
bw.flush();
}
}
//释放资源
sgs.close();
}
}
- 服务器:接收数据后写入文本文件中
ServerDemo类
package Demo;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerDemo {
public static void main(String[] args) throws IOException {
//建立服务器
ServerSocket sk = new ServerSocket(1110);
//侦听此客户端套接字并建立连接
Socket sgs = sk.accept();
//获取输入流,读数据,并写入文本文件中
BufferedReader br = new BufferedReader(new InputStreamReader(sgs.getInputStream()));
BufferedWriter bw = new BufferedWriter(new FileWriter("c:\\Lianxi\\java.txt"));
String line;
while((line=br.readLine())!=null) {
bw.write(line);
bw.newLine();
bw.flush();
}
//释放资源
sk.close();
}
}
输出的内容: