网络编程基本知识与实践(三)

Java网络编程全面指南:从基础到实践 在当今互联网时代,网络编程已成为软件开发的核心技能之一。Java作为一门成熟的编程语言,提供了强大而全面的网络编程能力。无论是构建简单的客户端/服务器应用,还是开发复杂的分布式系统,Java都能提供完善的解决方案。本文将全面介绍Java网络编程的各个方面,从基础概念到高级应用,帮助开发者掌握这一重要技能。 阅读详情

网络编程基本知识与实践(三)

(二)最后的实现虽然实现了一个客户端一次连接服务器成功后多次收发数据的功能,但局限也很明显,服务器也只能处理一个客户端,为实现一对多的特性,我们继续进行开发。
最终经过克服各种困难实现了如下功能。
服务器端
这里写图片描述
2个client端
这里写图片描述
这里写图片描述
服务器端:

public void start(){
        try {
            //创建对象,对象的属性和方法调用(API学习核心内容)
            final ServerSocket serverSocket = new ServerSocket(this.port);
            PrintUtil.serverPrint("端口开放成功");
            Thread serverThread = new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        while (true){
                            PrintUtil.serverPrint("调用方法准备接受连接");
                            //每个客户端都有一个独立的空间
                            Socket client = serverSocket.accept();//接收客户端连接,一次客户端的连接套接字
                            System.out.println(client.getInetAddress());
                            final StreamUtils streamUtils = new StreamUtils(client);
                            Thread thread = new Thread(){
                                @Override
                                public void run() {
                                    try {
                                        while (true) {

                                            streamUtils.readAndprint();
                                            PrintUtil.serverPrint("接收完数据");
                                            streamUtils.write("Server");
                                            PrintUtil.serverPrint("发送完数据");

                                        }

                                    } catch (IOException e) {
                                        e.printStackTrace();
                                    }
                                }
                            };
                            thread.start();
    //                streamUtils.closeStream();

                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            });
            serverThread.start();
            PrintUtil.serverPrint("start线程已开启");
        } catch (IOException e) {
            e.printStackTrace();
            PrintUtil.serverPrint("端口开发失败");
        }
    }

客户端:

public void connect(){
        try {
            Socket client = new Socket(this.IP, this.port);
            PrintUtil.clientPrint("服务器连接成功");

            while (true) {
                StreamUtils streamUtils = new StreamUtils(client);
                String str = scanner.next();
                streamUtils.write(str);
                PrintUtil.clientPrint("发送完完数据");
                streamUtils.readAndprint();
                PrintUtil.clientPrint("接受信息完毕!");
//                streamUtils.closeStream();如果要关闭可以写一个close方法
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
Lua语言的网络编程 Lua是一种轻量级的、高级的脚本语言,最早由巴西的天主教大学(PUC-Rio)于1993年开发。Lua的设计初衷是作为一种嵌入式语言,易于扩展和与其他语言互操作。Lua的语法简单易懂,支持多种编程范式,包括过程式、命令式和函数式编程。Lua语言因其轻量、灵活的特性,适合用于网络编程。在本文中,我们介绍了Lua语言的基本网络编程知识,包括Socket编程、数据传输协议,以及几个常用的网络库。通过实践案例,演示了如何使用Lua进行HTTP请求和创建Web服务。 阅读详情

相关推荐

Java网络编程与IO实践课程:JavaLookUp程序解析

本文还有配套的精品资源,点击获取 简介:《Java网络编程与IO实践——JavaLookUp程序详解》一书详细解析了名为"JavaLookUp"的程序,涵盖了Java网络编程和输入输出(I/O)技术。本书通过实际项目案例,帮助读者掌握Socket编程、I/O流处理以及异常处理等核心技术要点,提升编程实践能力。 1. Java网络编程基础知识 在这一章节中,我们将...

weixin_42584586的博客 1460

网络编程基本知识与实践(一)

网络编程基本知识与实践 基本理论知识: 网络通信: 网络:多台电脑通过网络完成信息传递,网络指的是多台电脑构成的环境。 网络基本元素:网卡、网线、IP、Port端口(每个使用网络传输的软件都需要一个通信端口) 计算机基本作用:接收数据、处理数据、发送数据 IP+Port封装成Socket对象 C/S模式:client客户端+server服务端模式 B/S模式:browser浏览器+...

TimliangLei 586

网络编程深入实践项目指南

计算机网络是通过通信设施将多台计算机连接起来的系统,允许计算机之间进行数据交换和资源共享。在现代IT环境中,网络编程是构建分布式应用和实现服务间通信的基础。套接字(Socket)是计算机网络中进程间通信的一种方式,它提供了一种发送和接收数据的机制,允许数据在网络中的不同主机之间传输。在TCP/IP网络模型中,套接字是应用程序与网络协议栈之间的接口,充当数据交换的“插槽”。对于网络通信来说,套接字是必不可少的组件。它负责管理与网络连接相关的各种任务,包括但不限于:创建连接、数据传输、断开连接等。

weixin_34640289的博客 763

网络编程实践笔记

1.简述 高并发服务:事件驱动+非阻塞IO 以太网层(帧,frame)、IP层(分组)、传输层(TCP分节)、应用层(消息) TCP断开的时间和条件 TCP是字节流协议,不保留消息的边界 非并发网络编程实例: TTCP:classic TCP performance testing tool(TCP性能测试工具) Round-trip:measure clock error between two hosts(测试两台机器的时间差) Netcat:a Swiss hnife Slow sink/sourc

大灰狼吃树皮 481

Linux网络编程与命令实践大全

本文还有配套的精品资源,点击获取 简介:Linux操作系统以其开源性、稳定性和高效率,在服务器和嵌入式设备领域中得到广泛应用。本资源包结合了C语言编程基础和Linux高级网络编程,详细介绍了Linux命令使用、系统编程入门、Linux开发环境和网络编程的各个方面。包括但不限于C语言基础知识、Linux系统编程技巧、Linux命令大全、系统管理、版本控制、文件I/O、多线程编...

weixin_35257663的博客 1178

CAN-do-paser:Java开发的CAN总线数据帧解析库

CAN总线数据帧使用DBC文件信息解析为物理量,基于Java开发的数据解析工具。

佳瑞的博客 1133

网络编程思考与实践

编写了一个TCP服务程序,将telnet客户端发送过来的字符串反向,然后发送给客户端。用户可以使用默认端口8888进行通信,也可以输入自己的端口,自己输入的端口会被保存在txt文件中,如果下次运行服务器的话就会调用txt文件中的端口号。本程序可以实现多线程通信。 具体实现代码如

yinkai1205的专栏 581

Isaac Lab强化学习实战:用SO-ARM101机械臂实现抓取任务(附B站视频教程)

本文详细介绍了如何使用Isaac Lab强化学习框架,在SO-ARM101机械臂上实现抓取任务的完整实战流程。内容涵盖从环境搭建、奖励函数设计、训练调参到模型部署的各个环节,并分享了Sim-to-Real迁移的关键技巧,旨在帮助开发者高效完成机器人强化学习项目。

weixin_29070721的博客 1101

网络编程基本知识与实践(二)

网络编程基本知识与实践(二) (一)中已经把大致环境搭建完成了,接下来我们需要让客户端不停访问服务器,首先思路是让这一段代码不断循环,同时streamUtils.closeStream();注释掉这一行,不关闭流: streamUtils.write("Client"); PrintUtil.clientPrint("发送完完数据"); streamUtils.readAndprint(); ...

TimliangLei 372

osgearth2.10 demo功能介绍

osgearth-2.10 demo: 说明: 1、运行环境win7 x64 旗舰版,CPU i5-6400 8核,8G内存; 2、括号内是对应demo的测试参数(.earth); 3、配置OSG_FILE_PATH; 4、参数命令行可以查看各个demo需要的输入参数; 5、前缀说明:gui界面程序、cmd控制台程序、non功能未知; 6、程序后括号里的non表示不需要通过命令行输入参数; 示例: 1、gui:osgearth_3pv(simple.earth):相机与地球的投影关系,Range表示相机

rach09的专栏 2421

Claude + Figma MCP 实战教程

• 拥有 Figma 的 Dev 或 Full seat(专业/企业账号)权限 才能启用 Dev-Mode MCP 服务 。• MCP 是通过标准接口连接 Claude 与 Figma,效率高,但目前仍为 Beta,稳定性可能有限。3. 服务启动后,会在本地运行,比如 http://127.0.0.1:3845/mcp 。如果设置正确,会显示已连接的 figma-dev-mode-mcp-server  。• 如果多次转换复杂组件,可能需要多次选择与多次生成,建议合理拆分设计任务。

weixin_49869937的博客 4448

国产开源网络编程框架t-io的编程基本知识介绍

t-io作为目前国内最流行的开源网络编程框架软件,以简单易懂,上手容易而著称,相同的功能比起netty实现起来,要简单的多,代码量也大大减少,如果要使用好t-io,还是要先学习t-io的一些基本知识,这篇文章主要从8个方面介绍了t-io的基础知识。 具体请参考: https://www.wanetech.com/doc/tio/88 t-io收发消息过程 t-io收发消息及处理过程,可以用一张图清晰地表达出来 应用层包:Packet Packet是用于表述业务数据结构的,我们通过继承Pack.

weixin_58120435的博客 3299

归因分析计算因子贡献度常见的方法

在归因分析中,我们一般都需要计算出每个因子的贡献度是多少,比如产品DAU上升,对年龄段维度进行拆解,看是不同年龄段的用户对DAU上升的贡献度是多少,一般根据指标的类型,计算贡献度的方法也不一样,下面就列出一些常见的归因分析贡献度的计算方法。

Hubans的博客 4万+

Python网络编程实战:从原理到实践

网络编程是构建分布式系统和网络应用的基础。Python提供了丰富的网络编程库,从底层的socket到高层的asyncio和HTTP框架。本文将介绍Python网络编程的核心概念和实践技巧。

lady_mumu的博客 4137

SNAP实战:哨兵1 SLC数据预处理全流程详解(附避坑指南)

本文详细解析了使用SNAP软件处理哨兵1号SLC数据的完整预处理流程。从轨道精校正、辐射定标到多视与斑点滤波,再到地理编码,文章提供了清晰的操作步骤与核心逻辑,并重点分享了实践中的常见“坑”与解决方案,旨在帮助用户高效、准确地完成SAR数据预处理。

7up55的博客 1027

华为MetaERP Oracle EBS OM(订单管理)模块详解作为ERP财务解决方案架构师,理解OM模块的业务全景和数据模型至关重要。OM是EBS分销链路的核心引擎,贯穿“订单到收款“(Orde

Oracle EBS OM模块是管理销售订单全生命周期的核心模块,涵盖客户管理、订单执行、发运开票、定价及信用控制等功能。其标准流程包括订单录入、预订、发放、发运确认和自动开票等环节,核心数据表涉及订单、客户、发运和定价等业务对象。OM模块与库存、应收、发运等模块深度集成,架构师需重点设计订单类型、信用控制策略和自动开票接口等关键环节,确保业务流程高效流转。

金牌架构师 359

Python中的网络编程Socket与HTTP协议的实践

在当今互联网时代,网络编程是程序员不可或缺的一项技能。Python作为一种高级编程语言,提供了丰富的网络编程库,使得开发者能够轻松地实现各种网络应用。本文将介绍Python中两种主要的网络编程方式:Socket编程和基于HTTP协议的网络编程,并通过实际案例来演示它们的应用。

一键难忘的博客 3844

SAP-ABAP:SAP基础数据校验工具开发系列博客(共5篇) 第一篇:需求梳理与架构设计:从零搭建SAP主数据校验能力底座

摘要: 本系列博客介绍SAP主数据校验工具的开发和设计,旨在解决物料、供应商、客户等主数据录入不规范、关联缺失和合规性问题。第一篇聚焦需求梳理与架构设计,提出分层技术架构(展示层、业务逻辑层、数据访问层),支持实时校验和批量校验两种模式,并详细说明规则引擎设计、SAP系统对接方案及权限管控逻辑。后续篇章将深入规则引擎实现、接口对接、结果可视化和性能优化,帮助构建集中式、可配置的主数据校验能力,提升SAP数据质量。

baidu_35680696的博客 330

Java网络编程技术基本知识

Java网络编程技术基本知识      一、互联网基本要素      1、计算机网,便是把遍布在不一样地理区域的电子计算机与专业的外围设备用通信网络互联成一个经营规模大、作用强的应用系统,进而使诸多的电子计算机能够便捷地相互之间信息传递,共享资源硬件配置、手机软件、数据信息等资源。      2、七层协议:国际海事组织ISO于l978年明确提出“开放式系统互联七层模型”,即知名的OSI(OpenSystemInterconnection)实体模型。该实体模型把计算机网分为物理层、数据链路层、传输层、网络层、

xiaobaikeji11的博客 335

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

《TCP/IP网络编程》代码实践指南:从理论到实战

《TCP/IP网络编程》代码实践指南:从理论到实战 【下载地址】TCPIP网络编程尹圣雨-各章节代码汇总 本仓库收录了《TCP/IP网络编程》这本书中每个章节所用到的代码,这些代码可以直接在Linux系统中运行。适合有一定编程语言基础,但对网络编程零基础的学习者使用。通过结合书本内容,在机器上运行这些代码,进行实操,理论...

gitblog_09748的博客 969

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

网络编程(1)基本知识

系列文章第一篇,主要是网络编程一些基础知识点。 一、OSI参考模型 二、TCP/IP参考模型 三、网络协议 1、应用层 2、 传输层(主机到主机层协议) 3、 网络层(因特网层协议) 四、IP地址、MAC地址、端口

热爱生活,忠于自己 706

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【网络编程】一.基本知识

博客并不做规范的知识讲解,仅仅是用于我个人的笔记,可能并不适用于所有人,内容也会存在错误的可能性,大家可以指正并探讨。

weixin_52199109的博客 713

Linux网络编程实践

目录一、Linux网络编程框架1、网络是分层的2、TCP/IP协议引入3、BS和CS二、TCP协议的学习1、关于TCP理解的重点2、TCP如何保证可靠传输3、TCP的三次握手4、TCP的四次握手5、基于TCP通信的服务模式6、常见的使用了TCP协议的网络应用三、socket编程接口介绍1、建立连接2、发送和接收3、辅助性函数:主要用于进行IP地址的转换,点分十进制与二进制方式4、表示IP地址相关数据结构四、IP地址格式转换函数实践1、网络通信中使用网络字节序,即大端模式2、ipv4和ipv6的区别:3、把i

小嵌同学的博客 1397

Java 网络编程的入门与实践

网络编程是通过编写代码,使得计算机之间可以通过网络进行通信的技术。核心目标包括数据传输、请求响应和资源共享。

想看什么文章都可以私信给我,综合性博客。 614

Rust 的网络编程实践与技巧

1.背景介绍 Rust 是一种新兴的系统编程语言,它在安全性、性能和并发性方面具有很大的优势。在过去的几年里,Rust 已经成为了许多高性能和安全的系统软件的首选语言。然而,在网络编程方面,Rust 仍然需要更多的实践和技巧来提高其使用效率和性能。 在这篇文章中,我们将讨论 Rust 的网络编程实践与技巧,包括: 背景介绍 核心概念与联系 核心算法原理和具体操作步骤以及数学模型公式详细讲解...

AI天才研究院 1592

Visual C#网络编程技术与实践 

Visual C#网络编程技术与实践简介:   本书详细介绍了利用Visual C# 2005进行网络编程的方法和技巧。全书共分13章,主要内容包括网络编程原理、Visual C# 2005的套接字以及多线程的开发、基于各种不同协议的网络编程应用模块,并通过几个典型的实例介绍了Visual C# 2005网络编程的实际应用。 本书注重代码的通用性和工程实践性,书中提供的通用模块和典型实例稍加修改就可以为读者所用。   本书不仅适用于使用Visual C# 2005进行软件开发的广大软件开发人员,也适...

cxu123321的博客 546
上一篇: 网络编程基本知识与实践(二)
下一篇: 从路径中获取文件名
TimliangL
博客等级 码龄9年 17粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值