码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 在Java中使用io实现TCP协议编程


    在Java中实现TCP协议编程_冯东昆的博客-CSDN博客_java实现tcp协议 

    1. package io;
    2. import java.io.BufferedReader;
    3. import java.io.BufferedWriter;
    4. import java.io.IOException;
    5. import java.io.InputStream;
    6. import java.io.InputStreamReader;
    7. import java.io.OutputStreamWriter;
    8. import java.net.ServerSocket;
    9. import java.net.Socket;
    10. public class TcpServer{
    11. public static void main(String[] args) {
    12. System.out.println("监听请求中...");
    13. BufferedWriter brout = null;
    14. BufferedReader brin = null;
    15. try (
    16. // 1.建立服务器socket
    17. ServerSocket ss = new ServerSocket(9009);
    18. // 2.调用accept()
    19. Socket s = ss.accept();){
    20. System.out.println(s.getInetAddress().getHostAddress()+ "...connection");
    21. // 读取客户的信息的输入流
    22. InputStream in = s.getInputStream();
    23. brin = new BufferedReader(new InputStreamReader(in));
    24. // 向客户端发送信息输出流,服务端向客户端返回信息OutputStreamWriter()
    25. brout = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
    26. String line = null;
    27. while ((line=brin.readLine()) != null) {
    28. System.out.println("client:" + line);
    29. brout.write(line.toUpperCase());//服务器端收到信息后,将信息转为大写返回给客户端toUpperCase()
    30. brout.newLine();
    31. brout.flush();
    32. }
    33. } catch (IOException e) {
    34. e.printStackTrace();
    35. } finally {
    36. if(brout!=null) {
    37. try {
    38. brout.close();
    39. } catch (IOException e) {
    40. e.printStackTrace();
    41. }
    42. }
    43. if(brin!=null) {
    44. try {
    45. brin.close();
    46. } catch (IOException e) {
    47. e.printStackTrace();
    48. }
    49. }
    50. }
    51. }
    52. }
    1. package io;
    2. import java.net.Socket;
    3. import java.io.*;
    4. public class TcpClient{
    5. public static void main(String[] args) {
    6. try (
    7. // 1.建立tcp客户端socket,要确定要连接的服务器ip,port
    8. Socket s = new Socket("127.0.0.1", 9009);
    9. // 2.通过建立的socket,获取输出流对象
    10. // 数据输出给服务器端
    11. OutputStream out = s.getOutputStream();
    12. BufferedWriter bwout = new BufferedWriter(new OutputStreamWriter(out));
    13. // 获取服务器端返回的数据
    14. // 读取服务器端发过来的信息InputStreamReader()
    15. BufferedReader brin = new BufferedReader(new InputStreamReader(s.getInputStream()));
    16. // 获取键盘录入
    17. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));){
    18. String line = null;
    19. while ((line = br.readLine()) != null) {
    20. if (line.equals("over")) {
    21. break;
    22. }
    23. bwout.write(line);
    24. bwout.newLine();
    25. bwout.flush();
    26. String str = brin.readLine();
    27. System.out.println("server:" + str);
    28. }
    29. } catch(IOException e) {
    30. e.printStackTrace();
    31. }
    32. }
    33. }

  • 相关阅读:
    C++模板与STL(六):内存空间配置器及内存池技术模拟
    java是干什么的
    Docker基础——4、Docker镜像 5、本地镜像发布到阿里云 6、本地镜像发布到私有库 7、 Docker容器数据卷 8、Docker常规安装简介
    debian10 arm芯片安装.net6
    MyBatis 如何实现缓存(一级缓存和二级缓存)呢?
    手工测试转自动化,学习路线必不可少,更有【117页】测开面试题,欢迎来预测
    【10. 信号量和管程】
    (附源码)ssm智慧社区管理系统 毕业设计 101635
    深度学习——SAM(Segment-Anything)代码详解
    中国“互联网+”大学生创新创业大赛“的实施方案及评审规则
  • 原文地址:https://blog.csdn.net/yiguang_820/article/details/126244195
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号