Server.java类的实现。
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 server;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public static final String IP = "127.0.0.1";//这里是IP地址,这个地址可以随便修改(该为你自己的IP)
public static final int PORT = 3333;//这里是设置server的端口号
public void startServer(){
try {
server = new ServerSocket(Server.PORT);
int i = 1 , j = 1;
while (true) {
System.out.println("Server listen in Client Request! ");
socket = server.accept();
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);
String line = in.readLine();
System.out.println("Server get Client send " + i++ + " message:"+line);
out.print("this Server return Client " + j++ + " message:" + line);
out.close();
in.close();
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
try {
socket.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
public static void main(String[] args) throws IOException {
Server server = new Server();
server.startServer();
}
}
Client.java的实现:
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
private Socket socket;
public void sendMessage(String message) {
try {
//这里初始化Socket 要提供两个参数 server的IP 和 port
socket = new Socket(Server.IP, Server.PORT);
socket.setSoTimeout(60000);
// send message
PrintWriter ps = new PrintWriter(new OutputStreamWriter(
new BufferedOutputStream(socket.getOutputStream()), "GBK"),
true);
// must use println();
ps.println(message);
// read server return message
BufferedReader br = new BufferedReader(new InputStreamReader(socket
.getInputStream(), "GBK"));
StringBuffer sbf = new StringBuffer();
String str = null;
int i = 1;
while ((str = br.readLine()) != null) {
sbf.append(str);
System.out.println("Server return " + i++ + " message: "
+ sbf.toString());
}
br.close();
} catch (Exception e) {
e.printStackTrace();
try {
socket.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
public static void main(String[] args) {
Client client = new Client();
client.sendMessage("first socket!");
}
}
注:这个只是个简单的Socket实现,并没有实现多线程访问。
分享到:
相关推荐
"Android简简单单实现Socket通信(逆天系列)"这个主题,意在展示如何在Android环境中搭建一个简单且易于使用的Socket通信框架,让开发者无需深入了解复杂的网络编程细节,就能快速地进行应用开发。 首先,我们来看...
本篇文章将详细介绍如何利用 Python 的 `socket` 库来实现简单的信息发送与监听功能,并通过具体的示例代码来帮助读者理解其工作原理。 #### 二、Socket 编程简介 Socket 是一种进程间通信机制,用于不同计算机或...
Android中socket通信简单实现 socket通信需要有一个服务器和客户端,可以把同一个APP作为服务器跟客户端,也可以分开成两个APP。 先上个图: 这里以一个APP作为服务器跟客户端为示例 1、添加网络访问权限 2、写...
实现socket简易的聊天程序,实现socket简易的聊天程序
在实现Socket通信时,通常包括以下步骤: 1. **创建ServerSocket**:服务器端需要创建一个ServerSocket对象,指定监听的端口号。例如,在Java中,可以使用`ServerSocket(int port)`构造函数。 2. **监听连接**:...
C++作为一门强大的编程语言,可以很好地实现Socket接口,构建服务器和客户端应用。在这个项目中,我们将探讨如何使用C++在Visual Studio 2008环境下实现Socket服务器和客户端的基本功能。 首先,Socket在C++中主要...
本篇文章将深入探讨Objective-C如何实现Socket编程,并结合iPhone和Mac平台的示例进行详细讲解。 首先,Socket是网络编程中的一个接口,它提供了一种在不同计算机之间建立连接并交换数据的方式。在Objective-C中,...
本资源“基于HPSocket实现socket通讯 - 修正版 ( C# demo 、 C++ dll )”提供了一种实用的方法,帮助开发者高效地实现跨平台的网络通信功能。以下是关于HPSocket、Socket通讯以及其C#和C++实现的关键知识点: 1. **...
通过阅读和分析这些代码,可以更好地理解C语言实现socket通信的细节。为了更深入地学习,你可以尝试修改代码,添加新的功能,例如添加SSL/TLS加密以实现安全的TCP通信,或者实现UDP协议的socket通信。实践是检验理解...
Java实现的简单Socket通信是网络编程中的基础技术,主要用于设备间的双向数据传输。在这个场景中,我们有两个窗口,一个作为服务器端,另一个作为客户端,它们通过TCP协议进行通信。TCP是一种面向连接的、可靠的传输...
在这个场景中,我们讨论的是如何使用Java的Socket来实现文件上传功能,即从客户端将文件发送到服务器,然后保存到服务器的数据库中。这个过程涉及到多个关键知识点,下面我们将详细探讨。 1. **Java Socket基础**:...
在Java中,实现Socket连接池的方式有很多,比如Apache的Commons Pool库或者HikariCP等。这些库提供了一套完善的连接管理和复用机制,包括连接的创建、分配、回收以及超时处理等功能。以HikariCP为例,它以其高效的...
本项目提供了一个简易版的Java RPC框架实现,旨在模仿著名的Dubbo框架,但采用了更基础的Socket通信方式进行分布式服务的搭建。以下是这个项目的核心知识点: 1. **RPC原理**:RPC使得客户端可以像调用本地方法一样...
在Cocos Creator中,我们可以使用JavaScript的原生WebSocket对象来实现Socket通信。WebSocket是一种在单个TCP连接上进行全双工通信的协议,相比HTTP,它能保持长连接,使数据传输更高效。 以下是实现Socket注册功能...
本篇文章将深入探讨如何在Qt中实现Socket的断线重连机制,这对于构建可靠、稳定的网络应用至关重要。 首先,我们要理解Socket的基本概念。Socket是网络通信中的一个端点,它允许两台计算机通过网络进行数据交换。在...
在IT行业中,网络通信是至关重要的部分,而Socket编程则是实现这一目标的关键工具。本文将深入探讨基于Socket实现Ping功能的源代码,涉及到的主要知识点包括Socket编程、原始套接字(SOCK_RAW)以及ICMP(Internet ...
在C++中,实现Socket通信主要涉及以下步骤: 1. **包含头文件**:使用Socket编程,我们需要包含`#include <sys/socket.h>`,`#include <netinet/in.h>`和`#include <arpa/inet.h>`这三个头文件,它们提供了Socket...
在本文中,我们将深入探讨如何使用API来实现Socket通信,特别关注使用Delphi 2010编写的示例。Socket编程是网络编程的基础,允许应用程序通过网络发送和接收数据。 首先,我们需要理解Socket接口,这是由Berkeley...
本主题将深入探讨如何实现基于Socket的简单通信协议,主要包括以下几个方面: 一、Socket基本概念 Socket,通常称为套接字,是网络编程中的一个抽象概念,用于在网络上的两个进程间建立通信连接。在TCP/IP协议栈中...
本压缩包中的"简单的Socket通信的实现"包含了Server端和Client端的示例代码,旨在帮助初学者理解Socket通信的基本原理和使用方法。 首先,我们要明白Socket通信的基本流程。当一个Client想要与Server建立连接时,它...