服务端:
public class ServerSide {
public void service() {
ServerSocket server = null;
Socket client = null;
BufferedReader is = null;
PrintWriter os = null;
try {
server = new ServerSocket(2046);
System.out.println("服务器启动...");
client = server.accept();
is = new BufferedReader(new InputStreamReader(client
.getInputStream()));
os = new PrintWriter(client.getOutputStream());
String msg = null;
// 接受客户端消息,当客户端断掉返回null,否则一直等待消息
while ((msg = is.readLine()) != null) {
System.out.println("客户端说:" + msg);
// 客户端使用readline,这里不能使用print
os.println("服务端收到消息");
os.flush();
if (msg.equals("end"))
break;
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (os != null) {
os.close();
}
if (is != null) {
is.close();
}
if (client != null) {
client.close();
}
if (server != null) {
server.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
new ServerSide().service();
}
}
客户端:
public class ClientSide {
public void service() {
Socket socket = null;
BufferedReader is = null;
BufferedReader input = null;
PrintWriter os = null;
try {
socket = new Socket("localhost", 2046);
is = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
os = new PrintWriter(socket.getOutputStream());
input = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String msg = input.readLine();
os.println(msg);
os.flush();
if (msg.equals("end"))
break;
System.out.println(is.readLine());
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (input != null) {
input.close();
}
if (os != null) {
os.close();
}
if (is != null) {
is.close();
}
if (socket != null) {
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
new ClientSide().service();
}
}
分享到:
相关推荐
在“简易Socket通讯工具”项目中,可能包含了客户端和服务器两部分。客户端用于发起连接并发送数据,服务器则负责监听连接并接收数据。文件列表中的"简易Socket通讯工具"可能包含以下组件: - 客户端代码:实现...
在本案例中,我们关注的是一个“简单的Socket服务器”,特别设计用于配合Cocos2d-x游戏引擎进行测试。Cocos2d-x是一款开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android以及其他多种操作系统。 在讲解Socket...
在这个名为“简易Socket聊天工具”的项目中,我们可以通过Socket来构建一个简单的聊天环境,让客户端和服务器之间,以及客户端与客户端之间能够进行实时的信息交换。下面将详细介绍Socket通信的基础知识以及在聊天...
在这个“VB6.0简单Socket服务端”项目中,开发者使用了Winsock控件来实现了一个基本的Socket服务器。下面将详细解释Socket、Winsock控件以及如何在VB6.0中构建Socket服务端。 Socket,也称为套接字,是网络编程中的...
在本示例中,"简单Socket聊天源码"是一个用于学习Socket编程基础的实例,特别适合初学者理解如何使用Socket实现简单的聊天功能。下面我们将深入探讨Socket的基本概念、工作原理以及在TCP/IP协议下的应用。 1. **...
本文将详细探讨如何使用C++来实现简单的Socket通信。C++作为一种强大的编程语言,提供了丰富的库函数,使得开发者能够方便地创建Socket应用程序。 首先,我们要理解Socket的基本概念。Socket可以看作是网络上的两个...
【C#简单Socket通信】 在IT领域,网络通信是至关重要的一部分,而Socket作为网络通信的基础组件,被广泛应用于各种应用程序的开发中。本篇将详细探讨C#中的Socket通信,特别是单对多以及带有广播通信的实现方式。 ...
在这个“简单socket通信,学习使用”的项目中,我们可以看到一个基础的Socket通信示例,这对于初学者理解网络通信的基本原理非常有帮助。 首先,我们需要理解Socket的概念。Socket在计算机网络中是一种通信端点,它...
Java实现的简单Socket通信是网络编程中的基础技术,主要用于设备间的双向数据传输。在这个场景中,我们有两个窗口,一个作为服务器端,另一个作为客户端,它们通过TCP协议进行通信。TCP是一种面向连接的、可靠的传输...
本教程将聚焦于C#中的简单Socket程序,涉及TCP协议,涵盖Server和Client两个关键组件。 首先,我们要理解Socket是什么。Socket是网络通信中的一个接口,它允许应用程序通过网络发送和接收数据。在C#中,我们可以...
在这个"基于Java的简单socket邮件发送"实验中,我们将深入探讨如何利用Java的Socket类来构建一个基本的邮件发送系统。 首先,我们需要了解Socket的工作原理。Socket是TCP/IP协议的一部分,它为两台计算机提供了一个...
本文将详细讲解如何在Linux环境下,通过简单的C语言Socket API实现一个基础的客户端/服务器模型,即C/S架构。 首先,我们需要理解Socket的基本概念。Socket是一种进程间通信机制,允许运行在同一台机器或不同机器上...
C++简单socket实现 。
在这个项目中,"基于Android的简单Socket服务端与客户端"实现了两个Android应用程序:一个作为服务端,另一个作为客户端,它们通过Socket进行数据交换。 首先,我们要理解Socket的工作原理。Socket是网络编程的基本...
本主题将深入探讨“服务器和客户端进程的简单SOCKET通讯”,帮助理解整个连接过程。 1. **Socket基础概念** - **Socket**:Socket在操作系统层面是一个数据接口,用于两个网络应用程序之间进行双向通信。它可以...
Java版的C/S简单Socket通讯是基于Java编程语言,利用Socket接口实现的客户端/服务器通信模型。在这个场景中,"SWT"(Standard Widget Toolkit)是用于构建图形用户界面(GUI)的库,它提供了丰富的控件和组件,使得...
本文将深入探讨“C#简单Socket对话”这一主题,旨在为初学者提供一套基础的Socket通信理解与实践。 首先,Socket是网络通信中的一个抽象概念,它代表了两个端点之间的连接,允许数据在网络中流动。在C#中,我们主要...
本示例“android中简单SocketDemo”旨在教授如何在Android应用中使用Socket进行基本的数据交换。以下是对该主题的详细讲解: 一、Socket基础 Socket,也被称为套接字,是网络通信的基本单元,它提供了进程间通信...
本文将深入探讨"简单socket编程"的相关知识点,并基于C++语言进行阐述。 首先,让我们理解什么是Socket。Socket在计算机网络中可以被视为一个端点,用于两台计算机之间的通信。它为应用程序提供了传输层服务,允许...
本教程将通过标题"“C++实现简单Socket编程,多客户端登陆以及检测客户端状态”"深入讲解如何使用C++进行Socket编程,包括多线程服务器的实现、TCP与UDP数据传输以及管理多个客户端连接。 首先,我们需要理解Socket...