"黑马程序员"网络编程学习日志2

黑马程序员入学Java知识——精华总结 黑马程序员入学Java知识——精华总结   J2SE部分,Java高新技术部分,7K面试题部分等黑马入学要求的知识点总结!   一、黑马程序员—java概述与基础知识 6 1、何为编程? 6 2、Java语言概述,历史、特点 6 3、什么是跨平台性?原理是什么?JVM 7 4、Jre和Jdk的区别? 7 5、java虚拟机JVM 8 6、 Java程序运行机制 8 7 阅读详情

       ----------------- android培训、java培训、期待与您交流! ----------------------


/*
 * 需求:建立一个文本转换服务端。
 * 客户端给服务端发送文本,服务端会将文本转成大写在返回给客户端
 * 而且客户端可以不断的进行文本转换,当客户的输入over时,转换结束。
 * 分析:
 * 客户端:
 * 既然是操作设备上的数据,那么就可以使用io技术,并按照io的操作规律来思考
 * 源:键盘录入。
 * 目的:网络设备,网络输出流。
 * 而且操作的是文本转换,可以选择字节流。
 * 步骤:
 * 1.建立服务。
 * 2.获取键盘录入
 * 3.将数据发给服务端。
 * 4.后去服务端返回的大写数据。
 * 5.结束,关资源
 * 都是文本数据,可以使用字符流进行操作,同时提高效率,加入缓冲
 */
/*
 * 该例子出现的问题。
 * 现象:客户端和服务端都在莫名的等待
 * 为什么呢?
 * 因为客户端和服务端都有阻塞式方法,这些方法没有读到结束标识。那么一直等
 *而导致两端都在等待 
 */
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
 class TransClient  {
    public static void main(String[] args)throws Exception {
Socket s=new Socket("192.0.0.1",10000);
//定义读取键盘数据的流对象
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
  //定义目的,将数据写入到socket输出流,发给服务端。
BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//定义一个socket读取流,读取服务端返回的大写信息。
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
String line=null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufOut.write(line);
bufOut.flush();
bufOut.newLine();
String str=bufIn.readLine();
System.out.println("server:"+str);
}
bufr.close();
s.close();
}
}
 /*
  * 服务端:
  * 源:socket读取流。
  * 目的:socket输出流。
  * 都是文本,装饰
  */
class TransServer{
public static void main(String[] args)throws Exception {
ServerSocket ss=new ServerSocket(10000);
   Socket s=ss.accept();
//读取socket读取流中的数据
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
   //目的,socket输出流,将大写数据写入到socket输出流,并发送给客户端
// BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
String line=null;
while((line=bufIn.readLine())!=null){
System.out.println(line);
/*bufOut.write(line.toUpperCase());
    bufOut.newLine();
    bufOut.flush();
*/
out.println(line.toUpperCase());
}
s.close();
ss.close();
}
}


URL的使用如下:

 import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
class URLDemo {
public static void main(String[] args) throws Exception {
URL url = new URL("http://192.0.0.1:8080/myweb/demo.html");
System.out.println("getProtocol():" + url.getProtocol());
System.out.println("getHost():" + url.getHost());
System.out.println("getPort():" + url.getPort());
System.out.println("getPath():" + url.getPort());
System.out.println("getFile():" + url.getFile());
System.out.println("getQuery():" + url.getQuery());
/*
 *  String getFile() 
          获取此 URL 的文件名。 
 String getHost() 
          获取此 URL 的主机名(如果适用)。 
 String getPath() 
          获取此 URL 的路径部分。 
 int getPort() 
          获取此 URL 的端口号。 
 String getProtocol() 
          获取此 URL 的协议名称。 
 String getQuery() 
          获取此 URL 的查询部分。 
 */
}
}
class URLConnectionDemo{
public static void main(String[] args)throws Exception
{
URL url=new URL("www.baidu.com");
URLConnection conn=url.openConnection();
InputStream in=conn.getInputStream();
byte []buf=new byte[1024];
int len=in.read(buf);
System.out.println(new String(buf,0,len));
}
}


---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.youkuaiyun.com/heima

Windows 11安装 SQLServer 2008 R2 失败问题处理 Windows 11安装SQL Server 2008 R2失败解决方案 由于Windows 11移除了对PowerShell 2.0的支持,导致SQL Server 2008 R2安装失败。经过多次尝试,最终通过**方案六(修改注册表模拟PowerShell 2.0环境)**成功安装。其他可行方案包括: 使用SP3集成版安装包 通过命令行跳过检查(/SUPPRESSPOWERShellCHECK参数) 创建特殊配置文件 替代方案建议: 使用Docker容器运行 在虚拟机中安装 升级到新版SQL Serve 阅读详情

相关推荐

保姆级教程:用CellOracle 0.10.13分析你的单细胞数据,从GRN构建到基因扰动模拟

本文详细介绍了如何使用CellOracle 0.10.13进行单细胞数据分析,从基因调控网络(GRN)构建到基因扰动模拟的全流程。通过环境配置、数据准备、GRN构建和扰动模拟等步骤,帮助研究者高效预测细胞命运决定的分子机制,特别针对实际分析中的易错点提供解决方案。

weixin_42525005的博客 437

网络编程日记(一)

小白级程序员还在学习,前几天刚刚开始在跟着老师做网络编程,记录一下学习过程 基于Python网络编程学习 制作路径: 1.Socket通讯双向通讯 TCP UDP 2.远程对象Pyro https://python-parallel-programmning-cookbook.readthedocs.io/zh_CN/latest/chapter5/06_...

qq_40709692的博客 291

EVM算法的Python实现

EVM(Eulerian Video Magnification,欧拉视频放大或欧拉影像放大)是一种将视频中的微小变化进行放大的算法,正如论文标题所说《Eulerian Video Magnification for Revealing Subtle Changes in the World》,该算法可以将视频中的微小变化转变为肉眼可以

flyingzhao 1万+

网络编程学习日志 day 01

网络编程学习日志 day 01 线程聊天 package dai.chat; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; public class TalkSend

呆呆小哥的秘密基地 218

华为OD机考双机位C卷 - 完美走位 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 完美走位(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 1125

Python爬虫实战:高效爬取中国版权登记数据

本文将详细介绍如何使用Python最新技术栈构建一个高效、稳定的中国版权登记数据爬虫系统。我们将使用Playwright+Asyncio实现无头浏览器自动化,结合Redis分布式任务队列和MongoDB数据存储,打造一个能够应对反爬机制的企业级数据采集方案。文章包含完整代码实现、性能优化技巧以及法律合规建议,帮助开发者快速掌握大规模数据采集的核心技术。本文详细介绍了2024年使用Python最新技术栈构建中国版权登记数据爬虫的完整方案。基于Playwright的无头浏览器自动化。

2201_76125261的博客 1898

后端开发学习日志(网络编程篇)

新手学习Java,欢迎大佬们指出错误

Xiaoxian____的博客 1003

Unity最强动作战斗框架?Combat System Framework 深度解析

Combat System Framework 并不是一个简单的角色控制器,而是一套完整的动作游戏战斗开发框架。它借鉴了现代 AAA 游戏常见的架构思想,以 Gameplay Tag 为核心,结合 ScriptableObject 数据驱动设计,将技能、属性、Buff、伤害、武器、动画通知等系统有机整合在一起。同时,配套的可视化动画时间轴、Root Motion 工具和实时预览窗口,大幅优化了动作开发流程。当然,这套框架也有一定的学习门槛。

2403_88403568的博客 680

网络编程学习日志

网络编程 网络模型: OSI参考模型 TCP/IP参考模型   网络通讯要素: IP地址(网络中设备的标识) 端口号(标识进程中的逻辑地址) 传输协议(TCP,UDP)   IP对象:InetAddress() import java.net.*; class  IPDemo { public static void main(String[] args) throws

zhuoapp_yuchun的博客 385

一分钟了解OpenSpec (规格)

OpenSpec是由Fission AI开源的轻量级规范驱动开发(SDD, Spec-Driven Development)CLI工具。它专为AI编程助手(如Cursor、Claude Code)设计,核心是**“先约定,后编码”:在AI写代码前,先通过结构化规范文档达成共识,让开发过程可预测、可审计、可协作**。轻量无侵入:单CLI、无依赖、不改造项目、1分钟接入存量友好:增量Spec、不重构旧文档、1→n王者完全可控:每步审查、AI按图施工、零返工协作利器。

h a 6 6 6 c k 为 你解决复杂难题! 2745

AMDGPU驱动中Doorbell与Event机制简要对比

摘要:AMDGpu驱动中,Doorbell和Event是两种异步通知机制。Doorbell是CPU→GPU的单向硬件通知,通过写MMIO寄存器触发GPU拉取任务,延迟低且无需内核介入,适用于队列任务提交。Event是GPU→CPU的双向同步通知,基于中断和内核事件对象,支持阻塞等待,用于任务完成或异常上报。核心区别在于方向、用途和实现方式:Doorbell侧重任务触发,Event侧重状态反馈。两者配合实现高效的任务下发与完成通知流程。

图形/计算GPU的驱动与虚拟化技术分享园地 1850

黑马程序员——学习日志11网络编程

------- android培训、java培训、期待与您交流! ----------  1、网络编程 IP地址:每台网络终端在网络中都有一个独立的地址,我们在网络中传输数据就是使用这个地址。本地回环地址:127.0.0.1,localhost。       端口号:每个网络程序都需要绑定一个端口号,传输数据的时候除了确定发到哪台机器上,还要明确发到哪个程序。端口

pslichao的专栏 464

复旦微FMSH_Procise安装全流程详解:从环境配置到实战避坑指南

通过本文的全流程解析+实战技巧,开发者可快速掌握Procise在复旦微芯片开发中的核心应用。未来随着AKConv轻量级架构(参考往期文章)等创新技术的融入,国产芯片开发生态将更加完善。立即关注本专栏,获取最新多镜像切换指南与Linux SDK实战教程!扩展阅读复旦微在线升级BOOT.BIN全解析H7-TOOL实现复旦微脱机烧录(注:本文实验环境为Windows 10 x64 + FMQL45T-CORE开发板,部分操作可能因版本更新调整)立即行动下载本文配套配置文件:[GitHub链接]加入技术交流群。

QQ_778132974的博客 3236

学习日志1

通过该博客的内容学习,了解了Redis的内容定位以及使用技巧,为下一步使用创建项目打下基础。下一步是创建一个数据库并去使用并在springboot项目中去使用。08 String类、static、Arrays类、Math类。07 Scanner类、Random类、ArrayList类。10 继承、super、this、抽象类。21 缓冲流、转换流、序列化流、打印流。02 数据类型转换、运算符、方法入门。06 类与对象、封装、构造方法。12 final、权限、内部类。01 入门程序、常量、变量。

m0_47222168的博客 339

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

黑马程序员系统编程_网络编程(讲义、笔记)

黑马程序员系统编程_网络编程(讲义、笔记) 链接:https://pan.baidu.com/s/1w78sxegdeLYy6MQ0zCa_Lw 提取码:yyds 复制这段内容后打开百度网盘手机App,操作更方便哦 转自: https://www.bilibili.com/video/BV1iJ411S7UA?p=127&spm_id_from=pageDriver ...

qq_44690575的博客 1510

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

黑马程序员Linux网络编程学习资料:网络编程领域的宝藏资源

黑马程序员Linux网络编程学习资料:网络编程领域的宝藏资源 【下载地址】黑马程序员Linux网络编程学习资料 《黑马程序员Linux网络编程学习资料》是一份专为开发者打造的深度指南,涵盖网络基础、socket编程及高并发服务器设计等核心内容。通过详实的文档与源码分析,读者可以系统掌握Linux环境下的网络编程技术,从基...

gitblog_06746的博客 433

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

黑马程序员Linux网络编程学习资料

黑马程序员Linux网络编程学习资料 【下载地址】黑马程序员Linux网络编程学习资料 《黑马程序员Linux网络编程学习资料》是一份专为开发者打造的深度指南,涵盖网络基础、socket编程及高并发服务器设计等核心内容。通过详实的文档与源码分析,读者可以系统掌握Linux环境下的网络编程技术,从基础概念到实际应用一应俱全...

gitblog_06796的博客 457

黑马程序员——Java网络编程

黑马程序员——Java网络编程 ---------------------- android培训、java培训、期待与您交流! ---------------------- 一、TCP和UDP ●  UDP ■  将数据的源和目的封装在数据包中,不需要建立连接 ■  第个数据报的大小限制在64K内 ■  因无连接,是不可靠的协议,速度快 ●  TCP ■  建立连接,开成传输数

冯焱 946

黑马程序员-网络编程

-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------ 一、网络编程: 1、为什么需要网络编程技术? IO技术的存在是为了更加便捷的操作数据,但是存在问题那就是对数据的操作只限于本机内数据操作,通俗的话就是说你玩的都是单机,不能和其他用户共享数据,也就是说不能把本机上的数据发给其他的电脑上的应用程序,打

达达的专栏 1842

黑马程序员 | Linux网络编程 | 学习笔记

Linux网络编程本质就是实现服务端和客户端的通信传输,而Linux系统编程也有讲过本地进程间的通信,所以总结一下各种通信的方式,以免混淆;本地通信pipe(管道):实现了有血缘关系进程间的通信fifo:可用于非血缘关系进程间的通信mmap内存映射:上面两个的功能它都可以实现信号:信号量本地套接字:socket(),参数 domain:AF_UNIX/AF_LOCAL网络通信多进程:也就是为每个客户端分配一个进程来处理请求(记得回收子进程)

m0_74795952的博客 2322

黑马程序员网络编程

------- android培训、java培训、期待与您交流! ---------- 黑马程序员网络编程 目前较为流行的网络编程模型是客户机/服务器结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出请求。服务器始终运行,监听网络端口,一旦有客户请求,就会启动一个服务线程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。 TCP是

lamstudyingnet的专栏 658

Linux网络编程——黑马程序员笔记

01P-复习-Linux网络编程 02P-信号量生产者复习 03P-协议 协议: 一组规则。 04P-7层模型和4层模型及代表协议 分层模型结构: OSI七层模型: 物、数、网、传、会、表、应 TCP/IP 4层模型:网(链路层/网络接口层)、网、传、应 应用层:http、ftp、nfs、ssh、telnet。。。 传输层:TCP、UDP 网络层:IP、ICMP、IGMP 链路层:以太网帧协议、ARP 05P-网络传输数据封装流程 网络传输流程: 数据没有封装之前,是不能在网络中传递。

zhuguanlin121的博客 3411

“黑马程序员”网络编程

------ http://www.itheima.com" target="blank">android培训、http://www.itheima.com" 网络编程: 1.找到对方IP 2.数据要发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程 序都用数学进行标识,为了方便称呼这个数字叫做端口 3.定义通信规则,这个规则称为协议。国际组织定义了通用协议T

u010081460的专栏 608

黑马程序员—网络编程

-------------------------------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 1:网络编程(理解) (1)就是通过Java语言实现不同计算机的数据交换和信息共享。 (2)网络编程三要素: A:IP地址 在网络中唯一标识一台计算机的。 B:端

u012573367的专栏 496

1024程序员节背后的逆袭之路:黑马程序员是如何炼成的?

auto-generated

VarFlow的博客 827

”黑马程序员“网络编程

------- android培训、java培训、期待与您交流! --------- TCP网络编程 Server端 Server端所要做的事情主要是建立一个通信的端点,然后等待客户端发送的请求。典型的处理步骤如下: 1. 构建一个ServerSocket实例,指定本地的端口。这个socket就是用来监听指定端口的连接请求的。 2.重复如下几个步骤:

Silly_child的博客 397
上一篇: "黑马程序员"网络编程学习笔记1
下一篇: "黑马程序员"IO流学习笔记02
tangjinjava
博客等级 码龄16年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值