ObjectServer.java
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ObjectServer {
public static int PORT = 8080;
public static void main(String[] agrs) {
ServerSocket s = null;
Socket socket = null;
ObjectOutputStream oos = null;
ObjectInputStream ois = null;
try {
s = new ServerSocket(PORT);
System.out.println("ServerSocket Start:"+s);
socket = s.accept();
System.out.println("Connection accept socket:"+socket);
ois = new ObjectInputStream(socket.getInputStream());
Message message = (Message)ois.readObject();
System.out.println(message.toString());
message.setContent("client received");
oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(message);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
ois.close();
oos.close();
socket.close();
s.close();
} catch (Exception e2) {
}
}
}
}
ObjectClient.java
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
public class ObjectClient {
public static void main(String[] args) {
Socket socket = null;
ObjectOutputStream oos = null;
ObjectInputStream ois = null;
try {
socket = new Socket("127.0.0.1", ObjectServer.PORT);
System.out.println("Socket=" + socket);
Message message = new Message("1", "Client sent");
oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(message);
ois = new ObjectInputStream(socket.getInputStream());
message = (Message)ois.readObject();
System.out.println(message.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ois.close();
oos.close();
socket.close();
} catch (Exception e2) {
}
}
}
}
Message.java
import java.io.Serializable;
the object should be serializable for socket transfer
public class Message implements Serializable{
private static final long serialVersionUID = 1L;
private String id;
private String content;
public Message(String id, String content){
this.id = id;
this.content = content;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String toString(){
return "id = " + id + " content = " + content;
}
}
分享到:
相关推荐
Java Socket编程是网络通信的核心部分,它提供了进程间通信(IPC)的能力,使得运行在不同设备上的应用程序可以通过网络互相通信。在Java中,Socket主要分为两种模式:BIO(Blocking I/O)和NIO(Non-blocking I/O)...
在本示例中,我们探讨的是一份简单的Java Socket程序,其中融入了线程的概念,这意味着我们可以同时处理多个连接,提高了服务端的并发能力。 首先,我们需要理解Socket的基本概念。Socket是TCP/IP协议族的一部分,...
Java Socket 实现 SMTP 发送邮件是一项常见的编程任务,尤其在自动化通知、系统间通信或用户交互中非常有用。SMTP(Simple Mail Transfer Protocol)是互联网上用于传输电子邮件的标准协议,而Java Socket则是Java...
总结来说,"socket example socket example"的示例很可能是一个教你如何使用Java或其他编程语言进行TCP Socket编程的教程,通过`TcpSample`文件,我们可以学习如何创建服务器和客户端,以及如何通过Socket进行数据...
Socket socket = new Socket("www.example.com", 80); ``` - 错误处理:由于网络操作可能会抛出异常,所以通常需要使用try-catch块来捕获并处理这些异常,如`UnknownHostException`和`IOException`。 2. **发送...
Socket socket = new Socket("smtp.example.com", 25); ``` 2. **初始化输入/输出流**:获取Socket的`InputStream`和`OutputStream`,用于读写数据。 ```java InputStream input = socket.getInputStream(); ...
在`SocketExample`这个压缩包中,你将找到上述概念的具体实现代码。通过分析这两份源码,你可以了解如何在Java中建立TCP连接、交换数据以及管理连接的生命周期。对于初学者来说,这是一个很好的学习起点,帮助理解...
本文将深入探讨如何使用Java的Socket API来实现这个功能,并结合标签“源码”和“工具”,提供实用的代码示例和解释。 首先,了解HTTP协议是必要的。HTTP(超文本传输协议)是一种应用层协议,用于客户端与服务器...
JavaExample 是一个集合了丰富的Java编程示例的资源包,非常适合初学者和有一定经验的开发者进行实践学习。在编程领域,理论知识固然重要,但实际操作是巩固和深化理解的关键。这个压缩包提供了大量可运行的Java代码...
4. 运行Java程序:通过`java`命令启动Socket服务器,例如:`java com.example.YourSocketServer`,这里的`com.example.YourSocketServer`是你的主类全名。 5. 配置防火墙:如果需要从其他机器访问,记得打开服务器...
"java_100_example.rar_java eclipse example"这个压缩包显然包含了100个Java编程示例,旨在帮助初学者或有经验的开发者更好地理解和掌握Java编程,并且这些示例可以直接在Eclipse环境中运行。 这100个例子可能涵盖...
Java TCPIP Socket编程是Java开发语言在后端服务中实现网络通信的重要技术,它基于Apache等开源库提供了丰富的API来创建高效、可靠的网络连接。本章将深入探讨Socket编程的基本概念和实现方法。 1. 计算机网络、...
在Android中,使用Socket也需要引入Java.net.Socket类。客户端首先需要建立到服务器的连接,通过输入服务器的IP地址和端口号。连接建立后,客户端可以向服务器发送数据,并接收服务器的响应。在Android环境中,通常...
在Java项目中,源代码通常按照包结构组织,如`com.example.socket`,这里的`com`是顶级域名,`example`是公司或项目的名称,`socket`可能是具体的模块或类库。在实际的Socket程序中,你会看到这些类和接口分布在不同...
9. **网络编程**:Java的Socket编程接口使得开发网络应用变得简单,可以创建客户端和服务器端的应用进行通信。 10. **并发编程**:Java提供了丰富的并发工具,如Thread, ExecutorService, Semaphore等,以支持多...
本示例中的"tcp_Java_example.zip"压缩包包含两个核心文件:TcpServer.txt和TcpClient.txt,分别代表了TCP服务器端和客户端的实现代码。 首先,我们来看`TcpServer.txt`,这通常是一个Java程序,用于创建一个监听...
私聊程序通常涉及两个主要部分:服务器端(Server)和客户端(Client),这在给定的`SocketServerExample.java`和`SocketClientExample.java`文件中应该有所体现。 1. **Socket类与ServerSocket类** - **Socket**...
以上只是Java编程的一部分核心知识点,实际的Java代码example会根据具体需求涉及其中的多个方面。例如,`apps`这个文件名可能暗示了这是一个应用程序相关的项目,可能包含了主类、业务逻辑、数据处理等模块,涵盖了...
当客户端(由SocketClientExample.java实现)连接到服务器后,它们之间就可以建立一个连接,通过这个连接发送和接收消息。 在SocketServerExample.java中,可能会有如下的关键步骤: 1. 创建ServerSocket对象,指定...