当前位置: 首页 > news >正文

Java网络教程之Socket

转自:

Java网络教程之Socket

下文讲述java中使用TCP/IP协议连接到服务器的操作示例,

实现思路:
    借助java.net.Socket对象,连接到服务器

创建Socket

例:连接到IP地址为8.8.8.8服务器上的80端口,这台服务器就是我们的Web服务器(www.java265.com),而80端口就是Web服务端口

Socket socket = new Socket("8.8.8.8", 80);
-------或使用域名的方式连接------------------
Socket socket = new Socket("java265.com", 80);

Socket发送数据

使用Socket发送数据时,需获取Socket输出流(OutputStream),例

Socket socket = new Socket("java265.com", 80);
OutputStream out = socket.getOutputStream(); 

out.write("Send data".getBytes());
out.flush(); //数据写入操作系统的缓存
out.close(); 

socket.close();

Socket读取数据

Socket中读取数据,需通过Socket的输入流(InputStream)

Socket socket = new Socket("java265.com", 80);
InputStream in = socket.getInputStream(); 

int data = in.read();
//读取的数据
while(in.read() !=-1)
{
   //读取数据
   in.next();
}

in.close();
socket.close();

关闭Socket

当我们使用完Socket后,
此时我们需关闭Socket,断开与服务器之间的连接,
关闭Socket只需使用Socket.close()方法即可

Socket socket = new Socket("java265.com", 80); 
socket.close();

相关文章:

  • 关于Spring-Boot配置加载顺序解读
  • 小白量化《穿云箭集群量化》(3)量化策略编写(2)
  • 【HCSD零代码云上开发】零代码入门微信小程序和物联网
  • 博士生做科研想 idea 发现早就有人做过了,该怎么调整心态?
  • 嵌入式 - 瑞萨宣讲
  • 【云原生 | Kubernetes 系列】---Prometheus监控mysql
  • 配置MyBatis(不用Maven)
  • 1113: 递归调用的次数统计(函数专题)
  • 安全的 PHP 注销脚本
  • 小学生python编程----学爬虫
  • 如何用一个简单的内容升级心理学技巧将转化率提高了845%
  • 【LeetCode】Day126-正则表达式匹配
  • 09-排序2 Insert or Merge(浙大数据结构)
  • DPDK18.08上对VIRTIO IN ORDER 功能所做的优化
  • java毕业设计软件S2SH人力资源管理系统|人事薪资招聘oa人力请假考勤工资[包运行成功]
  • AHK 中 = 和 == 等比较运算符的用法
  • Apache Zeppelin在Apache Trafodion上的可视化
  • express如何解决request entity too large问题
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Java面向对象及其三大特征
  • Joomla 2.x, 3.x useful code cheatsheet
  • js正则,这点儿就够用了
  • LeetCode18.四数之和 JavaScript
  • Netty 4.1 源代码学习:线程模型
  • react-native 安卓真机环境搭建
  • spring boot 整合mybatis 无法输出sql的问题
  • 阿里云购买磁盘后挂载
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 前端
  • Nginx实现动静分离
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​2020 年大前端技术趋势解读
  • ​linux启动进程的方式
  • #etcd#安装时出错
  • #ifdef 的技巧用法
  • #Lua:Lua调用C++生成的DLL库
  • $jQuery 重写Alert样式方法
  • (1) caustics\
  • (1)(1.11) SiK Radio v2(一)
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (三)模仿学习-Action数据的模仿
  • (算法)前K大的和
  • (学习日记)2024.01.09
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)我也是一只IT小小鸟
  • .Net Core与存储过程(一)
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • @selector(..)警告提示
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [ASP]青辰网络考试管理系统NES X3.5