`
j0hnny
  • 浏览: 2750 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

简单Socket

阅读更多
服务端:
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();
	}

}
分享到:
评论

相关推荐

    C#简易Socket通讯工具

    在“简易Socket通讯工具”项目中,可能包含了客户端和服务器两部分。客户端用于发起连接并发送数据,服务器则负责监听连接并接收数据。文件列表中的"简易Socket通讯工具"可能包含以下组件: - 客户端代码:实现...

    简单的Socket服务器

    在本案例中,我们关注的是一个“简单的Socket服务器”,特别设计用于配合Cocos2d-x游戏引擎进行测试。Cocos2d-x是一款开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android以及其他多种操作系统。 在讲解Socket...

    简易Socket聊天工具

    在这个名为“简易Socket聊天工具”的项目中,我们可以通过Socket来构建一个简单的聊天环境,让客户端和服务器之间,以及客户端与客户端之间能够进行实时的信息交换。下面将详细介绍Socket通信的基础知识以及在聊天...

    VB6.0 简单 Socket 服务端

    在这个“VB6.0简单Socket服务端”项目中,开发者使用了Winsock控件来实现了一个基本的Socket服务器。下面将详细解释Socket、Winsock控件以及如何在VB6.0中构建Socket服务端。 Socket,也称为套接字,是网络编程中的...

    简单Socket 聊天源码.

    在本示例中,"简单Socket聊天源码"是一个用于学习Socket编程基础的实例,特别适合初学者理解如何使用Socket实现简单的聊天功能。下面我们将深入探讨Socket的基本概念、工作原理以及在TCP/IP协议下的应用。 1. **...

    C++实现简单Socket通信

    本文将详细探讨如何使用C++来实现简单的Socket通信。C++作为一种强大的编程语言,提供了丰富的库函数,使得开发者能够方便地创建Socket应用程序。 首先,我们要理解Socket的基本概念。Socket可以看作是网络上的两个...

    C#简单Socket通信

    【C#简单Socket通信】 在IT领域,网络通信是至关重要的一部分,而Socket作为网络通信的基础组件,被广泛应用于各种应用程序的开发中。本篇将详细探讨C#中的Socket通信,特别是单对多以及带有广播通信的实现方式。 ...

    简单socket通信,学习使用

    在这个“简单socket通信,学习使用”的项目中,我们可以看到一个基础的Socket通信示例,这对于初学者理解网络通信的基本原理非常有帮助。 首先,我们需要理解Socket的概念。Socket在计算机网络中是一种通信端点,它...

    java实现简单socket通信

    Java实现的简单Socket通信是网络编程中的基础技术,主要用于设备间的双向数据传输。在这个场景中,我们有两个窗口,一个作为服务器端,另一个作为客户端,它们通过TCP协议进行通信。TCP是一种面向连接的、可靠的传输...

    C#网络编程简单Socket程序

    本教程将聚焦于C#中的简单Socket程序,涉及TCP协议,涵盖Server和Client两个关键组件。 首先,我们要理解Socket是什么。Socket是网络通信中的一个接口,它允许应用程序通过网络发送和接收数据。在C#中,我们可以...

    基于java的简单socket邮件发送

    在这个"基于Java的简单socket邮件发送"实验中,我们将深入探讨如何利用Java的Socket类来构建一个基本的邮件发送系统。 首先,我们需要了解Socket的工作原理。Socket是TCP/IP协议的一部分,它为两台计算机提供了一个...

    linux下基于简单socket编程实现C/S

    本文将详细讲解如何在Linux环境下,通过简单的C语言Socket API实现一个基础的客户端/服务器模型,即C/S架构。 首先,我们需要理解Socket的基本概念。Socket是一种进程间通信机制,允许运行在同一台机器或不同机器上...

    C++简单socket实现

    C++简单socket实现 。

    基于Android的简单Socket服务端与客户端

    在这个项目中,"基于Android的简单Socket服务端与客户端"实现了两个Android应用程序:一个作为服务端,另一个作为客户端,它们通过Socket进行数据交换。 首先,我们要理解Socket的工作原理。Socket是网络编程的基本...

    服务器和客户端进程的简单SOCKET通讯

    本主题将深入探讨“服务器和客户端进程的简单SOCKET通讯”,帮助理解整个连接过程。 1. **Socket基础概念** - **Socket**:Socket在操作系统层面是一个数据接口,用于两个网络应用程序之间进行双向通信。它可以...

    java版C/S简单socket通讯

    Java版的C/S简单Socket通讯是基于Java编程语言,利用Socket接口实现的客户端/服务器通信模型。在这个场景中,"SWT"(Standard Widget Toolkit)是用于构建图形用户界面(GUI)的库,它提供了丰富的控件和组件,使得...

    C#简单Socket对话

    本文将深入探讨“C#简单Socket对话”这一主题,旨在为初学者提供一套基础的Socket通信理解与实践。 首先,Socket是网络通信中的一个抽象概念,它代表了两个端点之间的连接,允许数据在网络中流动。在C#中,我们主要...

    android中简单SocketDemo

    本示例“android中简单SocketDemo”旨在教授如何在Android应用中使用Socket进行基本的数据交换。以下是对该主题的详细讲解: 一、Socket基础 Socket,也被称为套接字,是网络通信的基本单元,它提供了进程间通信...

    简单socket编程

    本文将深入探讨"简单socket编程"的相关知识点,并基于C++语言进行阐述。 首先,让我们理解什么是Socket。Socket在计算机网络中可以被视为一个端点,用于两台计算机之间的通信。它为应用程序提供了传输层服务,允许...

    C++实现简单Socket编程,多客户端登陆以及检测客户端状态

    本教程将通过标题"“C++实现简单Socket编程,多客户端登陆以及检测客户端状态”"深入讲解如何使用C++进行Socket编程,包括多线程服务器的实现、TCP与UDP数据传输以及管理多个客户端连接。 首先,我们需要理解Socket...

Global site tag (gtag.js) - Google Analytics