回顾了一下socket基本编程的内容,记录一下:
Server.java
//package com.liany.demo.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server(){
try{
//监听端口10000
ss = new ServerSocket(10000);
System.out.println("Server started, listening to port 10000 ...");
while(true){
//获取一个套接字
socket = ss.accept();
//客户端IP
String remoteIp = socket.getInetAddress().getHostAddress();
//端口
String remotePort = ":" + socket.getLocalPort();
System.out.println("A client come in! " + remoteIp + remotePort);
//获取套接字内容
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = in.readLine();
System.out.println("Client sent: " + line);
//向客户端发送内容
out = new PrintWriter(socket.getOutputStream(), true);
out.println("Hello, your message received!");
//关闭流和套接字连接
out.close();
in.close();
socket.close();
}
}catch (IOException e) {
System.out.println("Connection failed!");
}
}
/**
* @param args
*/
public static void main(String[] args) {
new Server();
}
}
Client.java
//package com.liany.demo.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Client(){
try{
//对服务器IP和端口发送套接字
socket = new Socket("127.0.0.1", 10000);
//从控制台输入一行文本
System.out.println("Please enter some Character:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
//写到套接字
out = new PrintWriter(socket.getOutputStream(), true);
out.println(line);
//取得服务器确认文本
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
line = in.readLine();
System.out.println("Message from server: " + line);
//关闭流和套接字连接
br.close();
out.close();
in.close();
socket.close();
}catch (IOException e) {
// TODO: handle exception
}
}
/**
* @param args
*/
public static void main(String[] args) {
new Client();
}
}
- 大小: 55.3 KB
分享到:
相关推荐
总的来说,Java套接字编程是构建网络应用程序的基础,理解并熟练掌握Socket和ServerSocket的使用,以及相关的数据传输和异常处理机制,是每个Java程序员必备的技能。在实际开发中,根据需求选择合适的设计模式和优化...
### Java套接字编程详解 #### 一、引言 随着互联网技术的不断发展与普及,网络编程成为现代软件开发中不可或缺的一部分。Java作为一种广泛应用的编程语言,提供了丰富的API支持网络编程,尤其是对于套接字(Socket)...
套接字(Socket)是Java套接字网络编程的基础概念, Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序...
文件名“Socket套接字—Java套接字编程上1”可能暗示了这是一个系列教程的第一部分,涵盖了基础知识和简单的客户端-服务器交互。实际源码可能包括客户端如何发起连接、发送数据,以及服务器如何监听、接收数据和响应...
Java套接字编程是网络通信的核心技术之一,主要...总的来说,Java套接字编程是构建网络应用的基础,理解其工作原理和使用方法对于开发分布式系统至关重要。通过不断实践和优化,我们可以构建高效、稳定的网络通信系统。
Java套接字编程是网络通信的核心技术之一,它允许两个应用程序通过网络进行数据交换。在Java中,套接字(Socket)是实现客户端-服务器模型通信的基础,它提供了低级别的、面向连接的、可靠的字节流服务。这篇笔记将...
### Java套接字编程详解 #### 一、Java网络编程概览 Java作为一种全面支持网络功能的编程语言,其强大的网络编程能力主要归功于它的一系列网络API,特别是位于`java.net`和`javax.net`包中的API。这些API为开发者...
1. **Java套接字基础** Java套接字是Java网络编程的基础,分为ServerSocket和Socket两种类型。ServerSocket是服务器端使用的,用于监听特定端口,等待客户端连接;Socket是客户端使用的,用于与服务器建立连接并...
总结,Java套接字聊天涉及到网络编程基础、多线程、数据传输与序列化、异常处理以及可能的安全措施。理解并熟练掌握这些知识点是开发类似应用的关键。通过`chat_socket_client`和`chat_socket_server`代码的学习和...
Java套接字(Socket)是网络编程中的...总结来说,Java套接字是网络编程的基础工具,通过它,我们可以构建可靠的、高性能的网络应用。理解并熟练掌握套接字的使用,对于开发任何涉及网络通信的Java项目都是至关重要的。
"Socket套接字—Java套接字编程(上1)"这个资料包可能包含了关于Java套接字的基础概念、创建和使用过程,以及相关实例。下面我们将深入探讨Java中的套接字编程。 首先,Java中的Socket类是Java.io包的一部分,它提供...
Socket即套接字 java.net包的客户端Socket,服务端ServerSocket; 单线程套接字客户端和服务端的处理; 服务端多线程处理客户端套接字; 带有线程池处理客户端套接字; 不会Socket,有Java基础就能完全理解Socket...
Java套接字是Java语言在网络编程中的核心组件,它提供了基于TCP/IP协议的通信机制。在Java中,网络编程的API主要分布在`java.net...理解并掌握Java套接字的使用是网络编程的基础,对于开发涉及网络的Java应用至关重要。
Java套接字是Java网络编程的核心组件,它提供了一种在不同网络节点间进行通信的机制。在Java中,套接字(Socket)是基于TCP/IP协议实现的,确保了数据在网络间的可靠传输。本篇将深入探讨Java套接字的相关知识点。 ...
Java套接字是Java语言中实现网络编程的基础,主要用于创建两个网络节点之间的通信链接。Java提供了丰富的API,主要集中在`java.net`和`javax.net`包中,使得开发者能够轻松地构建网络应用。 **什么是套接字(Socket...
在Java编程中,创建一个简单的聊天室涉及到网络通信的核心概念——套接字(Socket)。套接字是网络编程的基本组成部分,它提供了进程间的通信能力,允许两台计算机通过网络交换数据。在这个场景下,我们讨论的是基于...
### 套接字编程基础知识点详解 #### 1.1 什么是套接字 套接字(Socket),作为同一台主机内部应用层与传输层之间的接口,扮演着应用程序和网络之间的桥梁角色,即应用程序接口(API)。它允许应用程序通过网络进行...
总结来说,Java非阻塞套接字是Java NIO的重要组成部分,它提供了一种更高效、灵活的网络编程模型,特别适合处理高并发连接。通过非阻塞套接字,开发者可以编写出无须手动管理线程的服务器端程序,同时利用Selector...
Java Socket套接字是Java网络编程中的核心组件,它提供了应用程序之间进行低级通信的机制。...通过阅读提供的"Java套接字socket101"文档,你可以更深入地学习Socket编程的细节,从而更好地掌握这个强大的通信机制。