java网络编程 TCP传输的建立与基本思路分析
tcp传输:建立客户端和服务器端,建立连接后,通过Socket中的IO流进行数据的传输,关闭socket。
v
package cn.hncu.tcp.show; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; //import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class MySocketServer { public static void main(String[] args) throws IOException { ServerSocket ss=new ServerSocket(6666); /* * 服务器在等待客户端来握手(建立连接),这是一个阻塞方法, * 如果没有客户端来握手则会一直处于等待状态。 * 若客户端来请求握手且成功,则会返回与对方(客户端)通讯的Socket s。 * 在后面就可以通过这个返回的s进行与这个客户端通讯 */ Socket s=ss.accept(); //程序若执行到这一句,则表示服务器端一定有一个客户端连接成功,且与对方通讯的Socket就是s System.out.println("2222222"); //s中包含两个流: in, out //OutputStream out=s.getOutputStream();//通过out发数据给对方 InputStream in=s.getInputStream();//通过in读取对方发来的数据 //收数据 DataInputStream din=new DataInputStream(in); String str=din.readUTF(); System.out.println(str); din.close(); in.close(); } }
登录后复制
package cn.hncu.tcp.show; import java.io.DataOutputStream; import java.io.IOException; //import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class MySocketClient { public static void main(String[] args) throws IOException { /* * 客户端尝试向服务器进行握手,若超时则表示连接失败,抛出异常。 否则代码连接成功,后面的代码就可以通过s和服务器通讯 */ Socket s = new Socket("127.0.0.1", 6666); // 程序执行到此,表示客户端一定与服务器端成功建立连接,否则上一句会出异常,不会执行到这里。 System.out.println("11111111"); // s中包含两个流: in, out OutputStream out = s.getOutputStream();// 通过out发数据给对方 //InputStream in = s.getInputStream();// 通过in读取对方发来的数据 // 向服务器发送数据 String str = "Hello server!!! "; DataOutputStream dout = new DataOutputStream(out); dout.writeUTF(str); dout.close(); out.close(); } }
登录后复制
相关文章:
相关视频:
以上是java网络编程 TCP传输的建立与基本思路分析的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
2 周前
By DDD
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前
By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。
