服务器端:
package test.socket;
//import java.net.*;
import java.io.*;
import java.net.ConnectException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
public class SocketTest_Server {
public static void main(String[] args) throws UnknownHostException,
IOException, ConnectException {
//服务器端端口号
ServerSocket aServerSocket = new ServerSocket(3434);
Socket aServer = null;
try {
aServer = aServerSocket.accept();
try {
BufferedReader input = new BufferedReader(
new InputStreamReader(System.in));
BufferedReader in = new BufferedReader(new InputStreamReader(
aServer.getInputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(
aServer.getOutputStream()));
String serverstring = null;
String clientstring = null;
System.out.println("hello! enter the bye to exit.");
System.out.print("Server:wait client");
serverstring = input.readLine();
boolean done = false;
while (!done) {
if (serverstring != null) {
out.println(serverstring);
out.flush();
}
clientstring = in.readLine();
if (clientstring != null)
System.out.println("client:" + clientstring);
System.out.print("server:");
serverstring = input.readLine();
if (serverstring.equals("bye"))
done = true;
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
aServer.close();
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
aServerSocket.close();
}
}
}
客户端:
package test.socket;
import java.net.*;
import java.io.*;
public class SocketTest_SvrClit {
public static void main(String[] args) throws UnknownHostException,
IOException, ConnectException {
Socket aClient = null;
// IP和端口号
//IP可以是127.0.0.1或者localhost
aClient = new Socket("192.168.0.8", 3434); // InetAddress.getLocalHost()
try {
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
BufferedReader in = new BufferedReader(new InputStreamReader(
aClient.getInputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(aClient
.getOutputStream()));
String clientString = null;
String serverString = null;
System.out.println("hello!enter bye to exit.");
boolean done = false;
while (!done) {
serverString = in.readLine();
if (serverString != null)
System.out.println("Server:" + serverString);
System.out.print("client:");
clientString = input.readLine();
if (clientString.equals("bye"))
done = true;
if (clientString != null) {
out.println(clientString);
out.flush();
}
}
in.close();
out.close();
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
aClient.close();
}
}
}
分享到:
相关推荐
Java网络编程案例教程习题参考答案涵盖了Java网络编程的基础知识点,包括Socket编程、TCP/IP协议、Java Socket类、ServerSocket类、Java网络编程模型、网络编程常见问题、多线程编程、并发编程、Socket选项、网络...
本教程将深入探讨Java Socket编程的基本概念、原理和实践应用。 一、Socket基本概念 Socket,也被称为套接字,是网络通信中的一个重要接口,它为两台计算机提供了一个低级别的、进程到进程的通信机制。在Java中,...
1. **Java Socket编程**:Java的Socket类提供了基于TCP/IP协议的网络通信能力。通过ServerSocket创建服务器端,Socket创建客户端,两者建立连接后可以进行双向数据传输。例如,你可以构建一个简单的聊天应用或文件...
### 三、Java Socket编程实践案例 #### 3.1 实现简单的聊天室功能 为了更好地理解Java Socket编程的实际应用,我们可以通过编写一个简单的聊天室程序来进行实践。该程序主要包括两个部分:服务器端和客户端。 - **...
Java 提供了多种网络编程接口,包括Socket 编程、DatagramPacket 编程、URL 编程等。 知识点2:Socket 编程 Socket 编程是Java 网络编程中最基础的编程接口。Socket 是一个EndPoint,用于在网络上建立连接,实现...
1. Java Socket编程基础:包括ServerSocket和Socket的使用,以及连接建立和断开。 2. 图像处理:如何捕获屏幕、编码和解码图像,以及选择合适的编码格式。 3. 多线程编程:在捕获屏幕和发送数据之间保持良好的并发性...
无论是Android客户端还是Java服务器端,Socket编程中都可能出现各种异常,如网络中断、连接超时等。因此,必须捕获并适当地处理这些异常,确保程序的健壮性。 5. **性能优化**: 在实际应用中,通常会使用多线程...
总结来说,这个学习笔记提供了一个使用Java Socket编程实现多线程服务器的示例,它演示了如何利用ExecutorService创建线程池来处理并发连接,是理解Java并发编程和网络通信的一个实用案例。虽然这是一个学习笔记,但...
Java Socket编程是网络编程的基础,它提供了进程间通信(IPC)的能力,特别是在互联网环境中,让两个不同的设备可以通过网络进行数据交换。在这个“java socket案例”中,我们将深入探讨Socket的基本概念,以及如何...
总的来说,这个"java中socket在线编程聊天系统的小案例"提供了一个实用的起点,帮助开发者掌握Socket编程的基本概念和实践技巧。通过研究和实践这个案例,你将能够构建自己的聊天应用程序,进一步理解和应用网络编程...
Java Socket编程是Java网络编程的重要组成部分,它提供了一种在两个网络应用程序之间建立连接和交换数据的方法。在本文中,我们将深入探讨Java Socket编程的概念、原理以及如何使用它来实现客户端-服务器通信。 ...
以下是关于Java Socket编程和远程执行任务的详细知识讲解。 1. **Java Socket基础**: - Java Socket是Java提供的网络编程接口,它允许两个应用程序通过TCP/IP协议进行双向通信。 - Socket分为ServerSocket和...
Java网络编程是开发分布式应用程序的关键技术,它允许程序通过网络发送和接收数据。《Java网络编程实例》这本书的源代码提供了丰富的示例,帮助读者深入理解这一领域。本压缩包包含的源代码覆盖了Java网络编程的各种...
Java TCP/IP Socket编程是网络通信领域中的核心技术,它允许Java应用程序通过网络进行双向通信。在本教程中,我们将深入探讨这个主题,理解TCP/IP协议的基础,以及如何在Java中使用Socket进行实现。 TCP(传输控制...
在Java中,网络编程主要依赖于Java的Socket编程、ServerSocket、URL类以及NIO(非阻塞I/O)等核心API。这份"Java网络编程期末考试复习题库+答案"为学生提供了全面的复习资源,涵盖了Java网络编程的主要知识点。 1. ...
Java Socket编程是Java网络编程的重要组成部分,它提供了在两台机器间进行低级通信的能力,使得应用程序能够实现客户端-服务器架构。...记住,实践是最好的老师,理论结合实际案例,你的Socket编程技能将不断提升。
Java Socket编程是Java网络编程的基础,它提供了网络通信的能力,使得程序可以与其他计算机上的服务进行交互。在本案例中,我们将关注如何使用Java Socket来实现SMTP(Simple Mail Transfer Protocol)邮件发送,并...
在这个案例中,我们将深入探讨如何使用Java的Socket编程来实现一个简单的CS模型。 首先,理解CS模型的基本概念至关重要。CS模型是由两部分组成的:客户端(Client)和服务器端(Server)。客户端发起请求,服务器端...
Java Socket聊天程序是一种基于TCP/IP协议的网络通信应用,它允许两台计算机通过互联网进行双向通信。...通过学习和分析这个案例,你可以深入理解Java Socket编程的基本原理和实践,为开发更复杂的网络应用打下基础。