/** * 服务端 * 需求:服务端和客户端同时读写 * @author Sam * */ public class EnhanceServer { /** * @param args */ public static void main(String[] args) { try { // 创建一个服务端ServerSocket,监听指定端口的请求 ServerSocket ss = new ServerSocket(9999); System.out.println("Server 等待客户端接入..."); // 监听客户端请求 Socket socket = ss.accept(); // 与客户端建立连接之后,读取客户端发过来的信息 InputStream is = socket.getInputStream(); byte[] buffer = new byte[1024]; int len = 0; // 定义一个字符串构建器,用于存储客户端发过来的数据 StringBuilder sBuilder = new StringBuilder(); int index; while ( (len=is.read(buffer)) != -1 ) { String temp = new String(buffer, 0, len); // 读到结束符,则跳出循环 if ( (index=temp.indexOf("eof")) != -1 ) { // 截取指定长度 sBuilder.append(temp.substring(0, index)); break; } // 如果没有读到结束符,则继续读取,并加入字符串构建器 sBuilder.append(temp); } System.out.println("Server 来自客户端的信息 : " + sBuilder.toString()); // 读完之后,往客户端发送响应数据 OutputStream out = socket.getOutputStream(); out.write("Hello Client!".getBytes()); out.write("eof".getBytes());// 写一个结束符 out.flush(); out.close(); is.close(); socket.close(); ss.close(); } catch (IOException e) { e.printStackTrace(); } } }
/** * 客户端 * @author Sam * */ public class EnhanceClient { /** * @param args */ public static void main(String[] args) { try { // 与服务端建立连接(服务端主机号,服务端监听的端口号) Socket socket = new Socket("127.0.0.1", 9999); // 与服务端建立连接之后,就可以往服务端写数据 OutputStream out = socket.getOutputStream(); // 往服务端中写数据 out.write("Hello Server!".getBytes()); out.write("eof".getBytes());// 写一个结束符,表示写入完毕 out.flush(); // 写完之后,获取服务端的响应数据 InputStream is = socket.getInputStream(); byte[] buffer = new byte[1024]; int len = 0; // 定义一个StringBuilder存储客户端发过来的数据 StringBuilder sBuilder = new StringBuilder(); int index; while ( (len=is.read(buffer)) != -1 ) { String temp = new String(buffer, 0, len); // 读到结束符,则跳出循环 if ( (index=temp.indexOf("eof")) != -1) { sBuilder.append(temp.substring(0, index)); break; } sBuilder.append(temp); } System.out.println("Client 来自服务端的信息 : " + sBuilder.toString()); out.close(); is.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } }
您还没有登录,请您登录后再发表评论
本教程将深入探讨Java中的Socket编程,特别是如何实现网上广播功能。网上广播允许一个设备向网络上的所有设备发送数据,无需预先知道接收者的具体地址。 首先,让我们了解什么是Socket。Socket在计算机网络中是一种...
Socket编程是一种基础的网络通信机制,允许两个应用程序通过网络交换数据。 首先,让我们深入了解一下Java中的Socket。在Java中,Socket是`java.net.Socket`类的一个实例,它代表了TCP协议中的一个连接。创建Socket...
在Java编程语言中,Socket是实现网络通信的基本组件。"Java Socket学习---单线程阻塞"这个主题主要探讨了如何使用Java的Socket类进行单线程的阻塞式通信,这种模式通常用于简单的客户端-服务器应用。在这个场景中,...
通过对`EchoServer.java`、`SocketUtils.java`和`EchoClient.java`的分析,我们可以深入理解Java Socket编程以及多线程阻塞模式在实际应用中的实现。这对于开发网络应用程序,尤其是需要处理大量并发连接的服务端...
本资料“Java TCP-IP Socket编程-卡尔弗特.pdf”旨在深入探讨如何利用Java语言进行TCP/IP套接字编程,构建稳定、高效的数据传输通道。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,而...
"华科-计算机网络实验报告-Java_Socket编程-网络组建实验.docx" 这份实验报告主要涵盖了计算机网络实验的两个部分:Socket 编程和网络组建实验。下面是对这两部分的详细解释和知识点总结: Socket 编程 Socket ...
在Java中,`java.net.Socket`和`java.net.ServerSocket`类是Socket编程的主要工具。 1. **Socket类**: - `Socket`类代表TCP连接的一端,用于建立客户端与服务器之间的连接。它的构造函数通常需要指定服务器的IP...
在Java中,Socket编程主要涉及两个关键类:`ServerSocket`和`Socket`。`ServerSocket`类用于服务器端,它监听指定端口的连接请求。创建一个`ServerSocket`实例,例如`ServerSocket server = new ServerSocket(9998);...
在Java中,Socket编程主要是基于TCP/IP协议的网络编程。 网络编程的两个主要问题 在网络编程中,有两个主要的问题需要解决:一是如何准确地定位网络上的一台或多台主机,二是找到主机后如何可靠高效地进行数据传输...
Java 多线程-Socket 编程是指在 Java 语言中使用多线程技术来实现网络编程,特别是使用 Socket 编程来实现客户端和服务器端的通信。在 Java 中,多线程可以使用 Thread 类和 Runnable 接口来实现,而 Socket 编程则...
《Java TCP/IP Socket编程(原书第2版)》基于TCP/IP Socket相关原理,对如何在Java中进行Socket编程作了深入浅出的介绍。《Java TCP/IP Socket编程(原书第2版)》内容简明扼要,条理清晰,并在讲解相应的概念或编程...
《Java TCP/IP Socket编程》(原书第2版)是一本深入探讨Java中Socket编程的专著,旨在帮助读者理解并掌握如何在Java环境中利用TCP/IP协议进行网络通信。本书不仅详细介绍了Socket的工作原理,还提供了丰富的示例...
Java Socket编程是网络编程的基础,它提供了在两个应用程序之间建立通信连接的能力。在这个场景中,我们讨论的是如何使用Java的Socket来实现文件上传功能,即从客户端将文件发送到服务器,然后保存到服务器的数据库...
在Java中,Socket编程是实现网络通信的基础,它提供了进程间通信的能力,使得两个相隔万里的计算机可以通过互联网进行数据交换。本篇文章将深入讲解如何通过三步学习Java Socket编程。 **第一步:理解Socket** ...
### Java编程中的Socket与网络编程详解 #### 一、Socket编程概述 Socket编程是Java网络编程的...以上就是关于Java中Socket编程的基本介绍及其实现细节。希望这些内容能帮助您更好地理解和掌握Socket编程的相关知识。
在本文中,我们将深入探讨Java Socket编程的概念、原理以及如何使用它来实现客户端-服务器通信。 首先,我们需要了解Socket的基本概念。Socket可以看作是网络上的一个端点,它允许两个运行在不同机器上的程序通过...
在Java中,Socket API提供了丰富的类库支持,使得开发人员能够轻松实现网络编程。 - **客户端Socket**:用于发起连接请求,与服务端建立连接。 - **服务端Socket**:用于监听客户端的连接请求,并接收或发送数据。 ...
Java Socket 编程在计算机网络实验中的应用 Java Socket 编程是计算机网络实验中的一个重要组成部分,它允许开发者创建可以在网络上传输数据的应用程序。下面是关于 Java Socket 编程在计算机网络实验中的应用的...
Java Socket编程是Java平台中用于实现网络通信的核心API,它基于TCP/IP协议栈,提供了低级别的、面向连接的、可靠的字节流通信。在本文中,我们将深入探讨Java Socket编程的关键概念、工作原理以及如何创建服务端和...
在Java面试中,对Socket编程的理解和应用能力通常是评估开发者技能的重要标准。以下是对Socket编程的详细阐述: 1. **Java Socket编程基础** - Java中的Socket是网络通信的基础,它提供了两台计算机之间低级别的...
相关推荐
本教程将深入探讨Java中的Socket编程,特别是如何实现网上广播功能。网上广播允许一个设备向网络上的所有设备发送数据,无需预先知道接收者的具体地址。 首先,让我们了解什么是Socket。Socket在计算机网络中是一种...
Socket编程是一种基础的网络通信机制,允许两个应用程序通过网络交换数据。 首先,让我们深入了解一下Java中的Socket。在Java中,Socket是`java.net.Socket`类的一个实例,它代表了TCP协议中的一个连接。创建Socket...
在Java编程语言中,Socket是实现网络通信的基本组件。"Java Socket学习---单线程阻塞"这个主题主要探讨了如何使用Java的Socket类进行单线程的阻塞式通信,这种模式通常用于简单的客户端-服务器应用。在这个场景中,...
通过对`EchoServer.java`、`SocketUtils.java`和`EchoClient.java`的分析,我们可以深入理解Java Socket编程以及多线程阻塞模式在实际应用中的实现。这对于开发网络应用程序,尤其是需要处理大量并发连接的服务端...
本资料“Java TCP-IP Socket编程-卡尔弗特.pdf”旨在深入探讨如何利用Java语言进行TCP/IP套接字编程,构建稳定、高效的数据传输通道。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,而...
"华科-计算机网络实验报告-Java_Socket编程-网络组建实验.docx" 这份实验报告主要涵盖了计算机网络实验的两个部分:Socket 编程和网络组建实验。下面是对这两部分的详细解释和知识点总结: Socket 编程 Socket ...
在Java中,`java.net.Socket`和`java.net.ServerSocket`类是Socket编程的主要工具。 1. **Socket类**: - `Socket`类代表TCP连接的一端,用于建立客户端与服务器之间的连接。它的构造函数通常需要指定服务器的IP...
在Java中,Socket编程主要涉及两个关键类:`ServerSocket`和`Socket`。`ServerSocket`类用于服务器端,它监听指定端口的连接请求。创建一个`ServerSocket`实例,例如`ServerSocket server = new ServerSocket(9998);...
在Java中,Socket编程主要是基于TCP/IP协议的网络编程。 网络编程的两个主要问题 在网络编程中,有两个主要的问题需要解决:一是如何准确地定位网络上的一台或多台主机,二是找到主机后如何可靠高效地进行数据传输...
Java 多线程-Socket 编程是指在 Java 语言中使用多线程技术来实现网络编程,特别是使用 Socket 编程来实现客户端和服务器端的通信。在 Java 中,多线程可以使用 Thread 类和 Runnable 接口来实现,而 Socket 编程则...
《Java TCP/IP Socket编程(原书第2版)》基于TCP/IP Socket相关原理,对如何在Java中进行Socket编程作了深入浅出的介绍。《Java TCP/IP Socket编程(原书第2版)》内容简明扼要,条理清晰,并在讲解相应的概念或编程...
《Java TCP/IP Socket编程》(原书第2版)是一本深入探讨Java中Socket编程的专著,旨在帮助读者理解并掌握如何在Java环境中利用TCP/IP协议进行网络通信。本书不仅详细介绍了Socket的工作原理,还提供了丰富的示例...
Java Socket编程是网络编程的基础,它提供了在两个应用程序之间建立通信连接的能力。在这个场景中,我们讨论的是如何使用Java的Socket来实现文件上传功能,即从客户端将文件发送到服务器,然后保存到服务器的数据库...
在Java中,Socket编程是实现网络通信的基础,它提供了进程间通信的能力,使得两个相隔万里的计算机可以通过互联网进行数据交换。本篇文章将深入讲解如何通过三步学习Java Socket编程。 **第一步:理解Socket** ...
### Java编程中的Socket与网络编程详解 #### 一、Socket编程概述 Socket编程是Java网络编程的...以上就是关于Java中Socket编程的基本介绍及其实现细节。希望这些内容能帮助您更好地理解和掌握Socket编程的相关知识。
在本文中,我们将深入探讨Java Socket编程的概念、原理以及如何使用它来实现客户端-服务器通信。 首先,我们需要了解Socket的基本概念。Socket可以看作是网络上的一个端点,它允许两个运行在不同机器上的程序通过...
在Java中,Socket API提供了丰富的类库支持,使得开发人员能够轻松实现网络编程。 - **客户端Socket**:用于发起连接请求,与服务端建立连接。 - **服务端Socket**:用于监听客户端的连接请求,并接收或发送数据。 ...
Java Socket 编程在计算机网络实验中的应用 Java Socket 编程是计算机网络实验中的一个重要组成部分,它允许开发者创建可以在网络上传输数据的应用程序。下面是关于 Java Socket 编程在计算机网络实验中的应用的...
Java Socket编程是Java平台中用于实现网络通信的核心API,它基于TCP/IP协议栈,提供了低级别的、面向连接的、可靠的字节流通信。在本文中,我们将深入探讨Java Socket编程的关键概念、工作原理以及如何创建服务端和...
在Java面试中,对Socket编程的理解和应用能力通常是评估开发者技能的重要标准。以下是对Socket编程的详细阐述: 1. **Java Socket编程基础** - Java中的Socket是网络通信的基础,它提供了两台计算机之间低级别的...