首页 > 其他分享 >12月19日

12月19日

时间:2025-01-10 18:34:52浏览次数:1  
标签:12 java Socket 19 URL import new out

今日深入学习了Java中的网络编程,这是Java编程中用于实现网络通信的重要部分。通过网络编程,Java程序可以与其他计算机上的程序进行数据交换和通信,实现客户端-服务器(C/S)架构和分布式系统。
Java网络编程主要涉及两个方面:套接字(Socket)编程和URL处理。
套接字是网络通信的基础,它提供了一种在不同主机上的进程之间进行双向通信的机制。Java提供了Socket类和ServerSocket类来支持套接字编程。

客户端(Client):使用Socket类创建客户端套接字,连接到服务器。例如:

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

public class Client {
public static void main(String[] args) {
try (Socket socket = new Socket("localhost", 12345);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {

        out.println("Hello, Server!");
        String response = in.readLine();
        System.out.println("Server response: " + response);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

}
在这个例子中,客户端连接到本地主机的12345端口,发送一条消息并接收服务器的响应。

服务器端(Server):使用ServerSocket类创建服务器套接字,监听客户端连接。例如:

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

public class Server {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(12345)) {
System.out.println("Server is listening on port 12345");

        while (true) {
            Socket clientSocket = serverSocket.accept();
            System.out.println("New client connected");

            try (PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
                 BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()))) {

                String request = in.readLine();
                System.out.println("Client request: " + request);
                out.println("Hello, Client!");
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

}
在这个例子中,服务器监听12345端口,接受客户端连接,读取客户端请求并发送响应。
URL处理
Java提供了URL类来处理统一资源定位符(URL),可以用于访问网络资源,如网页、文件等。例如,获取一个网页的内容:

java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class URLExample {
public static void main(String[] args) {
try {
URL url = new URL("https://www.example.com");
URLConnection connection = url.openConnection();

        try (BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                System.out.println(inputLine);
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

}
在这个例子中,使用URL类访问https://www.example.com,并读取网页内容。

标签:12,java,Socket,19,URL,import,new,out
From: https://www.cnblogs.com/wenbushi-dream/p/18664491

相关文章

  • 12月20日
    今天继续学习网络编程多线程服务器在实际应用中,服务器通常需要同时处理多个客户端连接。多线程服务器可以通过为每个客户端连接创建一个新线程来实现。例如:javaimportjava.io.*;importjava.net.ServerSocket;importjava.net.Socket;publicclassMultiThreadedServer{......
  • 12月21日
    今天主要学习了Java中的反射(Reflection)机制,这是Java语言提供的强大功能,允许程序在运行时动态地获取类的信息、创建对象、调用方法和访问字段等。反射机制为Java程序提供了极大的灵活性和动态性,是实现框架和库等高级功能的基础。反射是指在程序运行时,能够获取任意一个类的属性和方......
  • JSP科傲数码配件线上销售系统6n19l(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技术主数据库使用MySQL开题报告内容一、研究背景随着互联网技术的快速发......
  • 12月10日
    今日深入研读了Java中的异常处理机制,这是编程中极为关键的一环,它能有效保障程序的健壮性与稳定性,确保程序在遭遇错误时能够合理地响应并尽可能地继续执行。异常是指程序运行过程中出现的不正常情况,如除数为零、数组越界等。Java通过异常处理机制来应对这些突发状况。异常处理主要......
  • 12月11日
    今日继续深入研读了Java中的异常处理机制Java中的异常主要分为两大类:受检查异常(checkedexceptions)和非受检查异常(uncheckedexceptions)。受检查异常:是指那些在编译时需要显式处理的异常,如IOException、SQLException等。这类异常通常与程序的运行环境相关,如文件操作、网络通信等......
  • 12月13日
    今天主要学习了Java中的集合框架,这是Java编程中用于存储和管理对象集合的强大工具,它提供了一系列灵活的数据结构,能够满足不同的数据存储和操作需求。Java集合框架是一个统一的架构,用于表示和处理对象集合。它主要包含三大接口:Collection、Map以及它们的子接口和实现类。Collecti......
  • 12月14日
    昨日初步了解了集合框架的定义,今天深入了解建立集合框架添加元素:使用add方法(List和Set)或put方法(Map)向集合中添加元素。例如:javaListlist=newArrayList<>();list.add("Java");list.add("Python");Setset=newHashSet<>();set.add("Java");set.add("Python&......
  • 12月10日总结
    今天在哔哩哔哩学习了web前端页面的开发的相关知识,Web前端页面的开发是构建和优化网站用户界面的过程,主要包括实现用户界面的结构(HTML)、样式(CSS)和交互(JavaScript)功能。以下是对web前端页面开发的具体介绍:HTML:HTML用于定义网页的结构和内容,是构建网页的基础。通过使用各种标签,如标......
  • 12月11日总结
    今天复习了顺序表,顺序表是线性表的一种存储结构,它把线性表中的所有元素按照其逻辑顺序,依次存储到从计算机存储器中指定存储位置开始的一块连续的存储单元中。简单来说,就是用一组连续的内存单元来存放数据元素,数据元素之间的逻辑关系通过物理存储位置相邻来体现。优点有:随机访问......
  • 【CES】消费电子展 各年的主题1967-2025:专注于展示当时的最新技术。人工智能,元宇宙,电
    消费电子展(CES,ConsumerElectronicsShow)的正式举办始于1967年。虽然它在最初几年并没有一个明确的“主题”,但每年的展会确实都有其突出关注的技术方向和创新。直到近年来,CES才开始明确提出具体的年度主题。以下是1967年到2025年期间,CES的一些重要年度发展和技术趋势概述:......