Javad网络编程实战初探之Socket编程

DuCut_1794120730156_604.mp4 立即下载

今天带大家来学习下Java的网络编程实战。Socket编程又称之为套接字的编程,还是来看看代码吧。主要涉及到客户端和服务器端的编程,我们先来看看服务器端的编程.代码如下.

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * @author hackbase   初步的认识Java的网络编程
 *    Socket编程主要涉及到客户端和服务器端的编程,
 *    Java网络编程主要涉及到的就是套接字的编程.
 *    简单来说Socket编程涉及到套接字编程.Socket就是两台主机
 *    之间的连接的逻辑端点,端口号从0到65535  1-1024之间的端口
 *    被操作系统所占有.一般是不能使用的。一般选择大于这个
 *    范围的端口.
 *
 *
 *    socket编程整体流程
 *    Socket编程主要涉及到客户端和服务器端两个方面,
 *    首先是在服务器端创建一个服务器套接字(ServerSocket),
 *    并把它附加到一个端口上,服务器从这个端口监听连接。
 *    端口号的范围是0到65536,但是0到1024是为特权服务保留的端口号,
 *    我们可以选择任意一个当前没有被其他进程使用的端口。
 *
 * 客户端请求与服务器进行连接的时候,
 * 根据服务器的域名或者IP地址,加上端口号,打开一个套接字。
 * 当服务器接受连接后,服务器和客户端之间的通信就像输入输出流一样进行操作
 */
public class SocketServer {
    public static void main(String[] args) {

        //创建端口号
        int port =7000;

        //在端口上创建一个套接字
        try {
            ServerSocket  serversocket=new ServerSocket(port);
            //监听来自客户端的请求连接
            Socket socket=serversocket.accept();


            //分别创建数据的输入流和输出流.
            DataInputStream  dis=new DataInputStream(new BufferedInputStream(socket.getInputStream()));
            DataOutputStream  dos=new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));

            do {
                double length=dis.readDouble();
                System.out.println("服务器收到的边长的数据为"+length);
                double result=length*length;
                dos.writeDouble(result);
                dos.flush();

            }while(dis.readInt()!=0);
                 socket.close();
                 serversocket.close();

        } catch (IOException e) {
            e.printStackTrace();
        }


    }
}

下面我们来看看客户端的编程,代码如下截图.

import java.io.*;
import java.net.Socket;
import java.util.Scanner;

/**
 * @author hackbase  下面来编写客户端的代码程序.
 *
 */
public class Client {
    public static void main(String[] args) throws IOException {
        int port =7000;
        String host="localhost";
        //创建一个套接字,并将其连接到指定的端口.
        Socket socket=new Socket(host,port);

        DataInputStream  Dis=new DataInputStream(new BufferedInputStream(socket.getInputStream()));
        DataOutputStream Dos=new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));

        //创建一个扫描器用于从控制套得到得到数据.
        Scanner sc=new Scanner(System.in);

        Boolean flag=false;
        while(!flag){
            System.out.println("输入正方形的边长.....");
            double length=sc.nextDouble();
            Dos.writeDouble(length);
            Dos.flush();

            double area=Dis.readDouble();

            System.out.println("服务器返回的面积为;"+area);
            while(true){
                System.out.println("继续计算码?(Y/n)");
                String str=sc.next();
                if(str.equalsIgnoreCase("N")){
                    Dos.writeInt(0);
                    Dos.flush();
                    flag=true;
                    break;
                }else if(str.equalsIgnoreCase("Y")){
                    Dos.writeInt(1);
                    Dos.flush();
                    break;

                }

            }


        }
        socket.close();
    }
}

代码难度不是很大,这里就不多介绍了,这里要注意,这里只是涉及到一个客户端连接到服务器的操作实例.在后面的博客里面涉及到多个客户端连接到一个服务器的实例来实现多人聊天的例子.

【教育信息化】基于Java+Vue的微证书可信验证系统设计:职业技能成果数字化管理与防伪溯源 项目介绍 基于java+vue的职业技能微证书颁发与可信验证系统设计与实现(含模型描述及部分示例代码) 内容概要:本文介绍了一个基于Java和Vue的职业技能微证书颁发与可信验证系统的设计与实现,旨在解决传统职业证书管理中存在的信息分散、验证困难、易篡改、互认难等问题。系统通过构建统一的微证书业务管理体系,采用SHA-256摘要算法和RSA数字签名技术保障证书内容完整性与签发主体可信性,并结合二维码实现便捷的社会化验证。平台涵盖证书全生命周期管理,支持学习成果积累、能力画像构建及跨机构成果互认,具备完整的前后端分离架构与安全机制,适用于教育、培训与企业人力资源场景。; 适合人群:具备Java与Vue开发基础的软件工程师、高校计算机相关专业学生、职业教育信息化研究人员以及企业HR技术平台开发者。; 使用场景及目标:①实现职业技能微证书的数字化签发与防伪验证;②构建学习者个人能力档案,支持岗位匹配与人才评价;③推动教育机构、行业协会与企业间的技能成果互认与数据共享;④作为毕业设计或企业级认证平台的技术参考原型。; 阅读建议:此资源包含系统模型描述与核心代码示例,建议结合Spring Boot、MyBatis-Plus、JWT、Redis等技术栈进行实践,重点关注证书摘要生成、数字签名验证、权限控制与数据安全设计,并可通过提供的数据生成代码模拟真实业务场景进行测试。 立即下载

相关推荐

结合混合A全局规划与MPC-iLQR执行器噪声和模型不匹配(MATLAB)的差动驱动机器人导航。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

JAVA Socket详解

1 问题引入 1.1 网络架构模型 网络架构模型主要有OSI参考模型和TCP/IP五层模型 1.1.1 OSI参考模型 OSI(Open System Interconnect),即开放式系统互联。一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。ISO为了更好的使网络应用更为普及,推出了OSI参考模型,这样所有的公司都按照统一的标准来指定自己的网络,就可以互通互联了。 OSI定义了网络互连的七层...

m0_53882390的博客 323

中国技术大败局TBL-20261107-238深度解剖报告V2.2 决策迭代版【汽车热管理】基于车速的空调内外循环控制装置:公知技术组合型伪创新专利失效分析

中国技术大败局TBL-20261107-238深度解剖报告V2.2 决策迭代版内容概要:本报告对奇瑞汽车股份有限公司申请的“一种汽车空调内外循环的控制装置及其控制方法”(专利号CN201010100392.0)进行了深度技术解剖与专利失效分析。该专利旨在通过车速信号自动切换空调内外循环,实现低速内循环防尾气、高速外循环引入新风的功能。然而,其技术方案被判定为“控制逻辑型伪创新”,核心逻辑“车速信号→阈值比较→内外循环切换”属于公知技术的常规组合,未提出新的空气质量预测模型、多源信息融合算法或预料不到的技术效果,因而不具备创造性,最终被驳回。报告指出,该专利与奇瑞多项同类专利(如184、186、207、228、231、237号)共同构成“公知信号/逻辑→公知执行器”的系统性低质量专利布局,反映出企业在技术创新路径上的重复性投入与创造性缺失。; 适合人群:企业知识产权负责人(IPR)、研发总监/CTO、投资尽调人员、专利代理机构从业者及技术研发团队。; 使用场景及目标:①识别“公知技术常规组合”类专利的创造性风险,避免无效研发投入;②指导高价值专利撰写,强调多源信息融合、动态优化模型与实证数据支撑;③为投资机构提供技术资产估值与风险甄别依据,区分低壁垒“信号替换”与高壁垒“算法创新”。; 阅读建议:此报告适用于研发与知识产权战略复盘,建议结合模块七“行业启示”与模块八“产业链坐标定位”进行系统性反思,重点关注“判距差”指标与“死海区”定位,推动企业从“功能实现”转向“模型创新”的研发范式升级。

Java网络编程——Socket 编程

Java网络编程——Socket 编程

涛涛的个人博客 1万+

北师大版英语词汇助手练习版-win10-不适用win7

最适合白板下的英语词汇PK工具 【百度网盘APP】北师大版英语词汇助手win10,11版本 3MB 链接:https://pan.baidu.com/s/1VO6vXt-ICCh-kAPstX8LcA  提取码:chen 【百度网盘】北师大版英语词汇助手 win 7,8,10,11可通用 60MB 链接:https://pan.baidu.com/s/15z5YN5GvvAZERqhitQcu1g  提取码:chen

改进差分进化算法及其求解柔性作业车间调度问题(Python代码实现)

内容概要:本文系统探讨了改进差分进化算法在求解柔性作业车间调度问题中的应用,并结合Python代码实现,展示了该算法相较于传统方法在全局搜索能力和收敛速度方面的优势。研究不仅聚焦于算法本身的改进策略,如变异、交叉和选择操作的优化,还深入分析了其在复杂制造环境中应对多目标、多约束调度问题的有效性。文中通过标准测试实例验证了算法性能,并与其他智能优化算法进行了对比分析,体现了其在实际工程应用中的潜力。此外,文档还关联了多无人机路径规划、电力系统状态估计、微电网优化、图像与信号处理等多个前沿技术领域,展现了智能优化算法在跨学科工程仿真与决策支持中的广泛适用性。; 适合人群:具备一定编程基础和工程背景,从事智能制造、自动化、工业工程、电气工程、控制科学与工程、计算机科学及相关领域的科研人员、高校研究生及企业研发技术人员。; 使用场景及目标:①为科研工作者提供可复现的智能优化算法代码框架,支持柔性作业车间调度、多无人机协同路径规划、电力系统优化等复杂工程问题的建模仿真;②辅助完成学术论文复现、课程设计、毕业设计或科研项目开发;③推动智能算法在生产调度、能源管理、交通规划等实际场景中的落地应用。; 阅读建议:建议读者结合文中提供的算法原理与代码实现,动手调试并验证不同参数设置对优化结果的影响,同时可参考荔枝科研社提供的完整资源包进行扩展学习与实践,以加深对算法机制与工程应用的理解。

java 中的socket_Java中的Socket的用法

Java中的Socket的用法Java中的Socket分為普通的Socket和NioSocket。普通Socket的用法Java中的網絡通信時通過Socket實現的,Socket分為ServerSocket和Socket兩大類,ServerSocket用於服務器端,可以通過accept方法監聽請求,監聽請求后返回Socket,Socket用於完成具體數據傳輸,客戶端也可以使用Socket發起請求並...

weixin_35056701的博客 549

复现基于改进秃鹰算法的微电网群经济优化调度研究(Matlab代码实现)

内容概要:本文聚焦于“基于改进秃鹰算法的微电网群经济优化调度”研究,提出一种改进的秃鹰优化算法(IBOA)以解决传统智能优化算法在求解过程中易陷入局部最优、收敛速度慢等问题。通过引入自适应权重、动态搜索机制及种群多样性保持策略,显著增强了算法的全局搜索能力和收敛精度。研究构建了包含光伏发电、风力发电、储能系统、可控负荷及电网交互的微电网群多主体协同调度模型,以系统综合运行成本最小化为目标函数,综合考虑功率平衡、设备出力能力、储能荷电状态、爬坡速率等多种实际约束条件。利用Matlab平台进行仿真验证,并与标准BOA、PSO、GA等经典智能算法进行对比,结果表明所提算法在降低系统运行成本、提高可再生能源消纳率及优化调度效率方面具有明显优势。; 适合人群:适用于具备电力系统基础、优化理论知识及Matlab编程能力的高校研究生、科研人员及从事微电网、综合能源系统优化调度相关工作的工程技术人员。; 使用场景及目标:①用于微电网群或多微网系统的经济调度建模与仿真;②开展新型智能优化算法的设计、改进与性能评估;③支撑含高比例可再生能源的配电系统优化运行决策; 阅读建议:建议结合提供的Matlab代码深入理解算法实现细节与调度模型构建过程,重点分析改进策略对优化性能的影响,并可通过替换场景参数或引入其他算法进行横向对比实验,进一步掌握智能优化在能源系统中的应用方法。【复现】基于改进秃鹰算法的微电网群经济优化调度研究(Matlab代码实现)

【开发经验】java socket编程详解

前言 ​ 在大多数的java项目中,使用开发者直接使用socket的场景并不多。但是目前众多框架的底层中,都会有socket的身影。此示例一下java原始的socket编程,并通过telnet进行通讯。 1、功能实现 如上图所示,主要实现服务器开启服务,每个客户端链接时都分配一个新的线程与其通讯。 2、服务端代码: import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; import java.u

叁滴水 的博客 9642

改进-基于新扩展移相角下的双有源桥DAB变换器仿真(EPS调制、软开关、最小应力优化)(Simulink仿真实现)

内容概要:本文系统阐述了基于新扩展移相角的双有源桥(DAB)DC-DC变换器的先进仿真研究,聚焦于EPS调制策略、软开关技术实现及最小应力优化控制目标的协同设计。通过Matlab/Simulink平台构建双闭环控制系统模型,深入剖析变换器在高频隔离、双向功率传输场景下的动态响应特性与效率优化机制。该仿真方案复现了顶级EI期刊研究成果,具备高学术参考价值,并集成于一套完整的电力电子与新能源系统仿真资源体系中,涵盖微电网、PWM整流器、LLC谐振变换器、储能管理等多个关键技术方向,配套完整的仿真代码、设计文档与理论资料,支持深度学习与二次开发; 适合人群:面向电力电子、电气工程及其自动化、新能源科学与工程等领域的研究生、科研人员以及从事高性能DC-DC变换器研发的工程师,要求具备扎实的电路理论基础、电力电子拓扑分析能力及一定的Matlab/Simulink仿真实践经验; 使用场景及目标:①深入掌握DAB变换器的核心工作原理及其在EPS调制与软开关协同下的最优控制策略;②支撑高水平科研论文的复现、改进与创新性研究;③服务于硕士课题、博士研究或企业级新能源变换器产品的前期验证与算法开发; 阅读建议:建议结合文中提供的Simulink模型与引用的权威文献进行系统学习,重点理解控制架构设计、参数整定方法与优化算法实现路径,同时可横向对比其他电力电子变换器案例,拓展系统级工程思维与科研创新能力。

Autodesk全家桶:从AutoCAD到Maya,设计师必备的7款神器全解析

本文全面解析Autodesk全家桶中的7款设计师必备软件,包括AutoCAD、Revit、Inventor、Fusion 360、Maya和3ds Max等。从二维制图到三维建模,从建筑信息模型(BIM)到影视动画制作,这些工具在工程设计、建筑可视化和数字创意领域展现出强大的协同效应。通过实战案例展示如何整合工作流,显著提升设计效率与项目质量。

weixin_29237635的博客 460

java dategramsocket_java实验报告网络编程

《java实验报告网络编程》由会员分享,可在线阅读,更多相关《java实验报告网络编程(21页珍藏版)》请在人人文库网上搜索。1、信息工程学院Java语言课内实习报告 (20132014学年第 二学期)实习题目:网络编程姓 名:学 号:专 业:年级班级:一、实习目的(1)掌握Socket通信(2)掌握UDP通信。二、实习设计过程任务一:InetAddress类练习使用InetAddress类的方法...

weixin_39653733的博客 236

四大厂商网络设备巡检命令实战指南:华为、华三、锐捷、思科

本文详细介绍了华为、华三、锐捷、思科四大厂商网络设备的巡检命令实战指南,涵盖硬件状态、软件运行和网络功能等核心维度。通过具体命令示例和实用技巧,帮助网络工程师高效完成设备巡检,预防潜在故障,确保网络稳定运行。

weixin_29235923的博客 390

java的基本学习(七)——网络编程

前言: 兜兜转转,终于来到了网络编程,接着上次的内容,我们继续学习Java URL通信: URL(Uniform Resource Locator,同一资源定位器)表示Internet/Intranet 上的资源位置。这些资源可以是一个文件、一个目录或者一个对象。当我们使用浏览器浏览网络上的资源时,首先要键入URL地址,才可以访问相应的主页。 每一个完整的URL由四...

#的博客 416

51单片机 步进电机正反转控制+Proteus仿真

51单片机 步进电机正反转控制+Proteus仿真 Proteus仿真 实例代码 /*************** ******************/ #include <reg52.h> #define uint unsigned int #define uchar unsigned char uchar code FFW[]= { 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 }; uchar code REV[]= { 0x09,0x

perseverance51博客 2787

PICO640红外探测器配置模块verilog

Ulis pico 640红外探测器配置模块

Go Forward Forever! 2031

西工大网络教育java语音考试_西工大《JAVA高级网络编程作业1》机考

该楼层疑似违规已被系统折叠隐藏此楼查看此楼寻求答案(非免费)找我Q和V都是:20 82 85 1315试卷总分:100 得分:96一、 单选题 (共 50 道试题,共 100 分)1.关于JavaBean正确的说法是( )。A.Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写B.C.被引用的Bean文件的文件名后缀为.javaD.Bean文件放在任何目录下都可以被引...

weixin_36124631的博客 1174

3步!Spring Boot+OCR引擎秒提身份证/营业执照?手把手教你从零实现!

OCR技术革新文档识别效率 本文演示了如何利用Spring Boot+Tesseract OCR+OpenCV构建自动化文档识别系统。相比传统人工录入,OCR技术可实现: 5秒极速提取身份证/营业执照关键信息 精准识别中文文本(准确率90%+) 正则过滤自动匹配结构化数据 技术要点: OpenCV图像预处理(灰度化+二值化) Tesseract多语言OCR识别 正则表达式精准提取证件号码 效率提升达100倍,错误率降低90%,适用于金融、政务等需要批量处理证件的场景。

java专栏 903

一个 Java 的 Socket 服务器和客户端通信的例子

http://blog.csdn.net/defonds/article/details/7971259 多个客户端对应一个服务端的通信的一个小例子。 服务端和客户端代码: public class Server { /** * 监听的端口 */ public static final int PORT = 12345; ...

dipianjiang7696的博客 191

通过轻量级图像增强Transformer (IAT) 提升YOLOv8在低光环境下的检测性能

随着深度学习和计算机视觉的快速发展,目标检测模型在各个领域中的应用不断扩展,特别是在低照度环境下的视觉任务。YOLOv8作为当前最先进的目标检测模型之一,在高亮度和良好照明条件下表现出色,但在低照度环境下的性能存在一定的不足。为了解决这一问题,我们提出了一种轻量级的低照度图像增强网络(IAT)来改进YOLOv8的暗光检测能力。本篇文章将深入探讨这一创新改进,并附带代码实现,帮助大家更好地理解这一技术的应用和效果。

博客 1214

【Unity】网络游戏实战(序章)MMORPG大型多人在线角色扮演 + 中国象棋联网对战

本系列会基于两种常见的网络游戏类型(MMORPG大型多人在线角色扮演和多人棋牌),从零开始实现网络游戏开发中的大多数环节。【杜绝代码炫技】本系列杜绝代码炫技,摈弃那些高深的设计模式,一切业务逻辑的实现代码追求浅显易懂,即便是网络编程菜鸟,也能循序渐进掌握本系列的核心要点。【授之鱼也授之渔】与一些开源库那样只授予源码不同,本系列还会基于各个技术要点展开详解,并结合切实的可直接运行的Demo,授之鱼更授之渔。

神码编程 1960

西工大java语言在线考试答案_西工大2020年4月《JAVA高级网络编程》作业机考参考答案.doc...

西工大2020年4月《JAVA高级网络编程》作业机考参考答案.doc 西工大2020年4月JAVA高级网络编程作业机考试卷总分:100 得分:94要答案:wangjiaofudao一、 单选题 (共 50 道试题,共 100 分)1.关于JavaBean正确的说法是( )。A.Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写B.C.被引用的Bean文件的文件名后缀为.jav...

weixin_36379029的博客 768

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

RTKLIB源码阅读(十二)控制台数据流程序 str2str

从数据流中输入数据,并将其分割和输出到多个数据流中,输入流可以是串行、tcp 客户端、tcp 服务器、ntrip 客户端或文件。输出流可以是串行、tcp 客户端、tcp 服务器、ntrip 服务器或文件。str2str 是常驻应用程序。如果运行在前台,则在控制台中键入 ctr-c;如果运行在后台,则向后台进程发送 SIGINT 信号。如果输入流和输出流都遵循 #format 输入信息的格式将被转换为输出格式。要指定输出使用 -msg 选项。

实践出真理,接毕设/课设项目开发指导 2104

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

六 redis学习笔记之发布订阅

发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似。pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者在物理部署上的耦合。redis作为一个pub/sub server,在订阅者和发布者之间起到了消息路由的功能。订阅者可以通过subscribe和psubscribe命令向...

ah6869的博客 141

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: Java的包装类,以及自动装箱和自动拆箱的操作.
下一篇: CSS的相对定位和绝对定位理解
hackerbaseing
博客等级 码龄8年 19粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值