网络编程——TCP传输数据

案例:TCP数据传输

客户端

public class Demo_Client{
public static void main(String[] args)throws IOException{
//创建Socket对象
Socket socket=new Socket("192.168.1.1",8888);
//获取输入输出流
InputStream is=new socket.getInputStream();
OutputStream os=new socket.getOutputStream();
//将字节流转换为字符流
BufferedReader br=new BufferedReader(new InputStreamReader(is));
PrintWriter pw=new PrintWriter(os);
Scanner scan=new Scanner(System.in);
while(true){
//发送数据给服务端
//pw.write("java 是最好的语言不接受反驳!\r\n");
pw.write(scan.nextLine());
//刷新写入
pw.flush();
//读服务端响应数据
System.out.println("读取响应数据:"+br.readLine());
}
//关流
br.close();
socket.close();
}
}

服务端

public class Demo_Server{
public static void main(String[] args) throws IOException{
//创建服务端Socket对象,绑定端口
ServerSocket serverSocket=new ServerSocket(8888);
//监听客户端连接
while(true){
Socket clientSocket=serverSocket.accept();
//接收客户端发送的数据
new Thread(){
public void run(){
try{
//读写数据都是IO流,并且不用自己创建
InputStream is=clientSocket.getInputStream();
OutputStream os=clientSocket.getOutputStream();
//将字节输入输出流包装成字符输入输出流
BufferedReader br=new BufferedReader(new InputStreamReader(is));
PrintWriter pw=new PrintWriter(os);
while(true){
//读取客户端的数据
String line=br.readLine();
if(line!=nulll){
System.out.println(new Date+"接收到客户端方发送的数据:"+line);
//响应客户端
pw.write("receive success!\r\n");
pw.flush();
}
}
}catch(Exception e){}
}
}.start();
}
}
}
发布了89 篇原创文章 · 获赞 0 · 访问量 1532

猜你喜欢

转载自blog.csdn.net/ShiZaolin/article/details/104304844
今日推荐