TCP面向连接的socket通信

举报
tea_year 发表于 2021/12/29 22:27:05 2021/12/29
【摘要】 服务器端的java代码 package com.aaa.servet; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.ServerSocket;//导入java.net包...

服务器端的java代码


  
  1. package com.aaa.servet;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.net.ServerSocket;//导入java.net包,用于网络通讯
  6. import java.net.Socket;
  7. /**
  8. * 这种是基于TCP的案例。
  9. * @author teayear
  10. *
  11. */
  12. public class ServerSocketTest {
  13. public static void main(String[] args) {
  14. System.out.println("...启动TCP Socket服务器...");
  15. //1.初始化服务端Socket并绑定端口为8888
  16. try {
  17. ServerSocket serverSocket=new ServerSocket(8888);//需要添加try/catch块
  18. //2.等待客户端的连接
  19. Socket socket=serverSocket.accept();
  20. //3.获取输入流,通过socket对象流,传递给缓冲字符流进行读取;
  21. BufferedReader bufferReader=new BufferedReader(new InputStreamReader(socket.getInputStream(),"utf-8"));
  22. //4.读取一行数据;
  23. // String str=bufferReader.readLine();
  24. String str;
  25. //4.1升级,通过循环升级接受信息;
  26. while((str=bufferReader.readLine())!=null){
  27. //5.输出打印
  28. System.out.println(str);
  29. }
  30. } catch (IOException e) {
  31. e.printStackTrace();
  32. }
  33. }
  34. }

效果如下:


  
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.io.OutputStreamWriter;
  6. import java.net.Socket;
  7. import java.net.UnknownHostException;
  8. public class ClientSocket {
  9. public static void main(String[] args) {
  10. //1.创建socket对象,建立到服务i端的连接;
  11. try {
  12. Socket socket=new Socket("127.0.0.1",8888);
  13. //2.通过缓冲输出流,包装下socket对象的输出字节流,进行写操作;
  14. BufferedWriter bufferWriter=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"GBK"));
  15. //通过标准输入流获取字符流;
  16. BufferedReader bufferReader=new BufferedReader(new InputStreamReader(System.in,"GBK"));
  17. //循环升级;
  18. while(true){
  19. String str=bufferReader.readLine();
  20. bufferWriter.write(str);
  21. bufferWriter.write("\n");
  22. //3.2还需要将缓冲中的内容放到socket
  23. bufferWriter.flush();
  24. }
  25. //4.注意一定要有关闭连接;
  26. // socket.shutdownOutput();
  27. } catch (UnknownHostException e) {
  28. e.printStackTrace();
  29. } catch (IOException e) {
  30. e.printStackTrace();
  31. }
  32. }
  33. }

在服务器端会显示:

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/88106657

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。