`

通过tcp传输对象

    博客分类:
  • Java
阅读更多

 

Server.java
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		final int PORT = 2000;
		Person person = new Person();

		ServerSocket server = new ServerSocket(PORT);
		System.out.println("Server listen port: " + PORT);

		Socket socket = server.accept();
		ObjectOutputStream oos = new ObjectOutputStream(socket
				.getOutputStream());

		person.id = 1;
		person.name = "Paul";
		person.age = 30;
		person.sex = SEX.MALE;
		person.data[0] = 0;
		person.data[1] = 1;
		person.data[person.data.length - 2] = person.data.length - 2;
		person.data[person.data.length - 1] = person.data.length - 1;

		for (int i = 0; i < 1000; i++) {
			oos.writeObject(person);
			System.out.println(person);
			oos.reset();

			person.id++;
			person.age++;
		}
		oos.flush();
		oos.close();

		socket.close();
		server.close();
	}

}
Client.java
import java.io.ObjectInputStream;
import java.net.Socket;

public class Client {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		final int PORT = 2000;
		Person person;

		Socket socket = new Socket("127.0.0.1", PORT);
		ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
		for (int i = 0; i < 1000; i++) {
			person = (Person) ois.readObject();
			System.out.println(person);
		}
		ois.close();
		socket.close();
	}
}
Person.java
import java.io.Serializable;

public class Person implements Serializable {
	private static final long serialVersionUID = -8409611229326504290L;
	public long id;
	public String name;
	public int age;
	public SEX sex;
	public int[] data = new int[65536];

	public String toString() {
		return "ID: " + id + "\n" + "NAME: " + name + "\n" + "AGE: " + age
				+ "\n" + "SEX: " + sex + "\n" + "DATA: " + data[0] + " "
				+ data[1] + " " + data[data.length - 2] + " "
				+ data[data.length - 1] + "\n";
	}
}

enum SEX {
	MALE, FEMALE
};


2
5
分享到:
评论

相关推荐

    C#通过TCP传输文件.rar_C#网口传输_tcp_tcp传输文件c#_文件传输_服务端与

    总之,C#通过TCP传输文件涉及网络编程基础、数据序列化和流操作等多个知识点,理解并熟练掌握这些技能,对于开发高效、可靠的网络应用程序至关重要。通过实际操作和学习提供的源代码,能更好地巩固理论知识并提升...

    qt tcp传输文件

    在Qt框架中,TCP(Transmission Control Protocol)是一种...通过以上步骤,你可以在Qt环境下实现TCP文件传输。这个例子对于理解网络编程和Qt的TCP功能非常有帮助,同时也可以作为基础进一步扩展到更复杂的网络应用。

    Qt_TCP传输文件

    **Qt TCP传输文件详解** Qt是一个跨平台的C++应用程序开发框架,广泛应用于GUI和非GUI应用程序的开发。在开发过程中,有时我们需要实现文件的网络传输功能,TCP(Transmission Control Protocol)作为传输层的一种...

    VS2013 服务器与客户端通过TCP传输命令和数据

    TCP确保了数据的可靠传输,它通过建立连接、数据分片、序列号、确认应答、重传机制以及拥塞控制等机制来保证数据在不可靠的网络环境中能够准确无误地到达目的地。在VS2013中,我们可以利用.NET Framework提供的...

    对象序列化TCP传输

    对象序列化是将一个对象的状态...总之,对象序列化TCP传输是分布式系统和网络通信中常用的技术,它使得复杂的对象能够安全、可靠地在网络中传输。理解和熟练掌握这一技术对于开发高效、稳定的网络应用程序至关重要。

    c# Socket Tcp传输文件

    在描述中提到的11M/s速度,这是TCP传输文件的一个参考指标。实际传输速度受到多种因素影响,包括网络带宽、服务器和客户端的CPU性能、硬盘I/O速度、操作系统优化等。为了提高传输效率,可以考虑使用异步I/O,如`...

    Qt实现TCP文件传输例子

    TCP确保数据的有序、无错传输,通过三次握手建立连接,然后进行数据分片传输,最后通过四次挥手断开连接。在Qt中,我们可以使用QTcpServer和QTcpSocket类来处理服务器端和客户端的通信。 1. **服务器端实现**: - ...

    MFC实现TCP数据传输

    本主题将深入探讨如何使用MFC在Visual Studio 2010中实现TCP(Transmission Control Protocol)数据传输,特别是针对文件的传输。TCP是一种面向连接、可靠的网络协议,确保数据在互联网上按顺序、无丢失地传递。 ...

    C++实现的TCP协议的文件传输

    在TCP传输中,我们需要将文件内容拆分成多个数据块,逐个发送。 6. **数据发送与接收**:使用`send()`或`write()`函数发送数据,`recv()`或`read()`函数接收数据。TCP协议不保证一次发送的数据能一次性接收,因此...

    用QT写的TCP传输的文件,新手可以参考一下

    在这个项目中,"用QT写的TCP传输的文件"是一个很好的起点,尤其是对于初学者来说,它可以帮助理解如何利用QT库来实现基于TCP协议的文件传输功能。TCP(Transmission Control Protocol)是一种面向连接的、可靠的、...

    C#Socket 封装了Tcp/Udp传输字串、文件、对象

    网络通信 Tcp/Udp 传输字串、文件、对象 Tcp粘包、半包 1.封装了Tcp/Udp传输字串、文件、对象的细节,处理了Tcp粘包问题 2.测试代码设计原始Socket、TcpListener、TcpClient、UdpClient的使用 3.测试代码包括一个...

    vb.net实现TCP传输

    在VB.NET中实现TCP传输是开发网络应用程序时的一项基本技能,尤其对于构建客户端-服务器通信系统至关重要。TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,常用于需要...

    C#编写的异步TCP传输

    【标题】"C#编写的异步TCP传输"涉及到的是使用C#编程语言实现的基于TCP协议的异步网络通信技术。在计算机网络中,TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,而异步编程则是为了...

    TCP文件传输服务器

    TCP文件传输服务器是一种基于传输控制协议(TCP)的网络应用,用于在客户端和服务器之间高效、可靠...通过对文件名和大小的预传输、文件的创建与接收,以及TCP连接的管理,开发者成功地构建了一个基本的文件传输系统。

    tcp传输,Java实现

    首先,TCP传输的核心是通过建立连接、交换数据和断开连接来完成通信。在Java中,我们主要使用`java.net.Socket`和`java.net.ServerSocket`类来实现TCP通信。服务器端通常会创建一个`ServerSocket`监听特定的端口,...

    基于C#的tcp图像传输

    4. **数据流操作**:图像数据通常通过`NetworkStream`对象进行传输,它是`TcpClient`和`TcpListener`的成员,提供了读写二进制数据的方法。例如,`NetworkStream.Write()`用于发送数据,`NetworkStream.Read()`用于...

    Qt使用TCP传输文件(带UI)

    在本文中,我们将深入探讨如何使用Qt库通过TCP协议进行文件传输,并构建一个带有用户界面(UI)的简单示例。Qt是一个功能强大的C++框架,广泛用于开发跨平台的桌面、移动和嵌入式应用。TCP(传输控制协议)是一种...

    VB实例源文件-tcp协议传输文件(含客户端与服务器端)

    2. 可靠性:通过序列号、确认应答、重传机制等,TCP保证了数据包的可靠传输,避免丢失或重复。 3. 流量控制:TCP使用滑动窗口机制来控制发送方的速率,防止接收方来不及处理过多的数据。 4. 拥塞控制:当网络拥塞时...

    TCP.rar_C# TCP传输_C#的TCP通信_tcp vs2008_tcp数据通信_数据传输

    标题"TCP.rar_C# TCP传输_C#的TCP通信_tcp vs2008_tcp数据通信_数据传输"暗示我们将关注C#编程语言,特别是使用Visual Studio 2008开发环境下的TCP通信实现。VS2008提供了丰富的.NET Framework库,使得C#开发者能够...

Global site tag (gtag.js) - Google Analytics