`

socket编程server和client简单的读取和输出数据(1)

阅读更多
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

	public Server() {
		try {
			System.out.println("Server starting... port:9998...");
			ServerSocket ss = new ServerSocket(9998);

			Socket s = ss.accept();

			ObjectInputStream ois = new ObjectInputStream(s.getInputStream());
			User userObj = (User) ois.readObject();
			System.out.println("Server...从客户端读取:" + userObj.toString());

			ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());
			oos.writeObject(userObj);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		new Server();
	}
}

 服务器端,读取客户端数据需要处理业务则处理业务并响应。

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;


public class Client {

	public Client() {
		try {
			System.out.println("client ...");
			Socket s = new Socket("127.0.0.1", 9998);
			
			User user = new User("FrankcoLuo", 90);
			ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());
			oos.writeObject(user);
			
			ObjectInputStream ois = new ObjectInputStream(s.getInputStream());
			User userObj = (User) ois.readObject();
			System.out.println("Client...从服务器读取:" + userObj.toString());
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		new Client();
	}
}

客户端。

import java.io.Serializable;

public class User implements Serializable{
	private String name;
	private int age;

	public User(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	@Override
	public String toString() {
		return "User name:" + name + ", age:" + age;
	}
}

User类,需要实现序列化。否则会报java.io.NotSerializableException异常。

输出:
1.服务端console:
   Server starting... port:9998...
   Server...从客户端读取:User name:FrankcoLuo, age:90
2.客户端console:
   client ...
   Client...从服务器读取:User name:FrankcoLuo, age:90

2
2
分享到:
评论

相关推荐

    基于Socket的Server和Client编程简单实现

    在TCP/IP协议栈中,Socket分为两种类型:流式Socket(TCP)和数据报Socket(UDP)。在这个实例中,我们主要关注流式Socket,它提供面向连接、可靠的数据传输服务。 1. **Server端编程** - **创建ServerSocket**: ...

    Android开发,Socket Client端和Socket Server端数据发送和接收

    本篇文章将详细探讨Android环境下如何进行Socket Client端和Socket Server端的数据发送与接收。 1. **Socket基础知识** - **Socket定义**:Socket是网络编程中的一个接口,它允许应用程序通过TCP/IP协议进行数据...

    socket-server&client; 初学者版本

    在编程领域,Socket是网络通信的基本接口,尤其在TCP/IP协议栈中,它扮演着至关重要的角色。"socket-server&client;...在学习过程中,不断实践和调试代码,结合网络基础知识,将有助于你更好地掌握Socket编程。

    c++socket_server_client

    综上所述,"c++socket_server_client"项目展示了如何在Windows环境下使用C++进行socket编程,实现一个支持群聊、消息推送、文件二进制流传输和加密功能的服务器和客户端系统。对于学习网络编程和C++的开发者来说,这...

    Socket_Server_Client

    Socket服务器和客户端是计算机网络编程中的重要组成部分,主要用于实现应用程序之间的通信。在本文中,我们将深入探讨基于C#编程语言的Socket服务器与客户端的实现,以及如何构建CS(客户端-服务器)架构,实现单...

    socket server client select模型

    在IT领域,网络编程是不可或缺的一部分,而Socket编程则是实现客户端和服务器...通过对`server.cpp`和`client.cpp`代码的学习,我们可以深入理解socket编程和`select`模型的工作原理,为后续的网络编程打下坚实基础。

    C++关于socket的client&server库创建

    Socket编程通常涉及TCP(传输控制协议)或UDP(用户数据报协议),这里我们将主要关注更可靠的TCP连接。 首先,我们需要包含必要的头文件,如`#include <sys/socket.h>`、`#include <netinet/in.h>`和`#include ...

    Socket通信Client/Server

    Socket通信是计算机网络编程中的重要概念,主要用于实现客户端(Client)和服务器端(Server)之间的数据交换。在C/S模型中,服务器作为服务提供者,等待客户端的连接请求,而客户端则是服务的使用者,主动发起连接...

    C# Socket范例,Server/Client

    总的来说,C# Socket编程涵盖了网络通信的核心概念,包括建立连接、数据传输和断开连接等步骤。了解和掌握这些基础知识,对于开发实时通信应用,如聊天室、文件传输等具有重要意义。通过实践和调试这些示例代码,...

    基于TCP的Socket编程服务器和客户端代码

    本主题聚焦于使用Java进行基于TCP的Socket编程,通过`File_client.java`和`File_server.java`两个文件来实现服务器和客户端之间的数据交换。 首先,TCP Socket编程的基础是Java的`java.net.Socket`和`java.net....

    一个简单的socket程序,包含server和client

    在这个名为“一个简单的socket程序,包含server和client”的项目中,我们将深入探讨Socket的基本概念、工作原理以及如何创建和运行一个简单的服务器(Server)和客户端(Client)程序。 首先,Socket可以理解为网络...

    socket编程 TCP client.java TCPserver.java

    总的来说,`TCP client.java`和`TCP server.java`是TCP Socket编程的基础,它们展示了如何在Java中实现客户端和服务器之间的通信。通过学习和理解这些基础,开发者可以构建更复杂的网络应用,如聊天程序、文件传输...

    在vs2008下通过socket实现server与client的收发文件

    在本文中,我们将深入探讨如何在Visual Studio 2008环境下使用C++和Socket编程技术来实现一个简单的文件服务器(FileServer)和文件客户端(FileClient),以便于两者之间进行文件的发送与接收。首先,我们需要理解...

    Socket_Server_Client_socketserver_SocketClient_C#源码_

    在"Socket_Server"文件中,可能包含了服务器的启动、监听、接受连接和数据交换的代码。 4. **Socket客户端**:客户端也需要创建Socket对象,并使用Connect方法连接到服务器的IP和端口。连接成功后,客户端可以通过...

    SOCKET编程(C++)实现server与client端的CLASS

    通过阅读和分析这些代码,你可以更深入地理解SOCKET编程的细节,例如错误处理、同步异步模式的选择以及数据编码解码等。 总结来说,C++中的SOCKET编程是通过一系列的函数调用来完成服务器与客户端之间的通信。无论...

    socket server端和client端 MFC 源代码

    CSocket类简化了Socket编程,它包含了建立连接、发送和接收数据的基本方法,如Create、Connect、Accept、Send和Receive等。 **三、Server端实现** 1. **初始化**: 在MFC服务器端程序中,首先需要调用AfxSocketInit...

    java socket client-server

    在实际应用中,数据传输通常涉及输入流和输出流对象,如`BufferedReader`和`PrintWriter`,它们分别用于读取和写入数据。例如,服务器可以读取客户端发送的信息并做出响应,然后将响应回传给客户端。 开发过程中,...

    Socket编程

    在标题“Socket编程”中,我们聚焦的是服务器端的Server Socket和客户端的Client Socket。Socket是网络编程的一个抽象接口,它允许两个运行在网络上的程序通过网络进行数据交换。 在服务器端,Server Socket是服务...

    基于JavaFx的Socket多线程通讯程序实例(含:Server端和Client端)

    在本实例中,我们将深入探讨如何使用JavaFX结合Socket编程实现一个多线程的通信程序,包括Server端和Client端。 首先,让我们了解Socket编程的基本概念。Socket是网络通信中的一个端点,它允许两个远程系统通过网络...

    tcl socket 编程实例

    ### TCL Socket 编程实例详解 #### 一、TCL Socket 概述 TCL(Tool Command Language)是一...通过以上示例,我们可以看到TCL Socket编程的基本流程和技术要点,这对于理解和实现基于TCL的网络应用程序是非常有用的。

Global site tag (gtag.js) - Google Analytics