`
ninghq
  • 浏览: 12386 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

简单BioDemo示例(socket通信)

    博客分类:
  • java
阅读更多

思路:服务端接到请求,分发给多线程任务,返回时间给客户端

 

Bioserver服务端

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class BioServer {

    /**
     * 端口号
     */
    private static final int PORT = 8080;

    public static void main(String[] args) throws IOException {

        ServerSocket server = null;
        try {
            server = new ServerSocket(PORT);
            System.out.println("the time server is start in port : " + PORT);

            Socket socket = null;

            while (true){
                socket = server.accept();
                new Thread(new TimeServerHandler(socket)).start();
            }


        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if(server!=null){
                System.out.println("the time server close");
                server.close();
            }
        }
    }
}

 

多线程时间任务

import java.io.*;
import java.net.Socket;
import java.util.Date;

public class TimeServerHandler implements Runnable {

    private Socket socket;

    public TimeServerHandler(Socket socket){
        this.socket = socket;
    }


    @Override
    public void run() {
        BufferedReader in = null;
        PrintWriter out = null;

        try {

            in = new BufferedReader(new InputStreamReader(this.socket.getInputStream())) ;
            out = new PrintWriter(this.socket.getOutputStream(), true);

            String body = null;

            while ((body = in.readLine())!=null && body.length()!=0){
                System.out.println("the time server receive msg :" + body);
                out.println(new Date().toString());
            }

        }catch (Exception e){
            e.printStackTrace();
        }finally {

            if(in!=null){
                try {
                    in.close();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
            if(out!=null){
                try {
                    out.close();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
            if(this.socket != null){
                try{
                    this.socket.close();

                }catch (Exception e){
                    e.printStackTrace();
                }
            }

        }
    }
}

 

BioCenlit客户端

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class BioClient {

    private static final int PORT = 8080;
    private static final String HOST = "127.0.0.1";

    public static void main(String[] args){
        Socket socket = null;
        BufferedReader in = null;
        PrintWriter out = null;

        try {
            socket = new Socket(HOST, PORT);
            in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            out = new PrintWriter(socket.getOutputStream(), true);
            out.println("I am Client");
            String resp = in.readLine();
            System.out.println("当前服务器时间是:"+resp);

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if(in != null){
                try {
                    in.close();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
            if(out != null){
                try {
                    out.close();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
            if (socket != null) {
                try {
                    socket.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

 

 

分享到:
评论

相关推荐

    delphi API实现socket通信示例

    在本示例中,"delphi API实现socket通信示例" 是一个面向初学者的教学资源,旨在教授如何使用Delphi编程语言通过API进行Socket通信。Socket通信是一种网络编程技术,允许两个或更多应用程序通过网络进行数据交换。 ...

    C#Socket通信 Demo

    本示例"C# Socket通信 Demo"旨在帮助开发者理解如何在C#环境中实现客户端(SocketClient)与服务器端(SocketServer)之间的数据交互。以下是对这个Demo的详细解析: 首先,Socket是网络通信的基础,它代表了网络上...

    android 与 PC socket 通信示例测试过

    在Android与PC之间使用Socket通信时,Android设备作为客户端(Client),而PC则作为服务器(Server)。 **Android客户端实现:** 1. **创建Socket对象**:Android客户端首先需要创建一个Socket对象,指定服务器的IP...

    windows下socket通信代码

    在Windows环境下进行网络编程时,Socket通信是一种常用的技术。Socket接口是操作系统提供的网络通信API,允许应用程序通过TCP/IP协议栈与其他计算机进行数据交换。本文将详细介绍Windows下的Socket通信代码,包括...

    S7-1200与ABB机器人进行SOCKET通信的具体方法示例.docx

    SOCKET通信基于TCP/IP协议,提供了一种程序间通信的方式,为数据交换提供了端口和通道。 首先,ABB 机器人需启用616-1 PC Interface 选项,这是进行SOCKET通信的基础。在RobotStudio软件中,选择合适的ABB机器人...

    JAVA Socket通信示例

    在这个"JAVA Socket通信示例"中,我们可能会看到如何通过Socket类来创建连接,实现数据的单工、半双工和全双工传输。下面我们将深入探讨这些通信模式以及如何在Java中实现它们。 **1. 单工通信:** 单工通信是一种...

    Mina+Socket通信

    Socket通信的基本步骤包括:创建ServerSocket,等待客户端连接,创建Socket对象,通过输入/输出流进行数据交换,最后关闭连接。 在Mina与Socket通信的实现中,服务端通常使用Mina来创建一个Acceptor,监听特定端口...

    socket通信代码 点到点通信

    在提供的压缩包文件“socket通信代码”中,可能包含了这些示例代码或其他更复杂的Socket通信实现。通过分析和理解这些代码,你可以进一步掌握Socket通信的原理和应用。记住,实际的Socket编程可能会涉及异常处理、多...

    Qt socket demo

    总结来说,"Qt Socket demo"是一个典型的网络通信示例,通过Qt4的Socket接口展示了服务器和客户端之间的数据交换。理解并掌握这部分知识,有助于开发者构建高效稳定的网络应用。实际编程中,开发者需要根据具体需求...

    matlab环境下socket通信

    为了深入理解,你需要打开并分析这些示例脚本,看看它们是如何运用上述步骤来实现Socket通信的。 总的来说,MATLAB环境下的Socket通信为科研和工程应用提供了灵活的数据交换方式,尤其适用于需要实时数据处理和分析...

    android socket通信实例程序(下)

    在Android平台上进行网络通信时,Socket通信是一种常见且重要的方式,尤其在实现设备间的数据传输、服务器客户端交互等场景。本实例程序主要关注TCP Socket,它是一种面向连接、可靠的网络通信协议,确保数据的顺序...

    C# Socket通讯/TCP通讯,完整代码demo

    本示例提供了一个完整的C# Socket通讯/TCP通讯的代码demo,旨在帮助开发者理解和应用网络通信技术。 首先,我们要理解Socket的基本概念。Socket在计算机网络中扮演着桥梁的角色,它允许两台计算机通过网络进行数据...

    c# Socket 通信 源码

    这个源码示例可以帮助学习者理解C#中的Socket通信流程,以及如何处理客户端和服务器之间的数据传输。通过实际运行和调试,你可以更深入地了解Socket通信的工作原理,例如错误处理、数据编码解码、多线程处理并发连接...

    Socket通信.zip

    Socket通信是计算机网络编程中的重要概念,特别是在C#这样的高级编程语言中,它提供了一种在不同设备间进行数据传输的机制。本压缩包“Socket通信.zip”包含了一个基于C#实现的Socket通信实例,主要涉及到TCP协议的...

    MFC 基于对话框的Socket通信

    在这个基于对话框的MFC Socket通信示例中,我们主要探讨如何在VS2017环境下构建一个功能完备的Socket通信应用。 首先,我们需要了解MFC的对话框类(CDialog)。在MFC中,对话框是一种用户界面元素,用户可以通过...

    C# 编程Socket通信详解

    C#编程Socket通信详解 C# Socket通信详解是指在C#编程语言...通过上面的示例代码,可以看到C# Socket通信的实现,对于数据包的处理和解析非常重要。只有正确地处理和解析数据包,才能确保网络通信的正确性和可靠性。

    基于Unix域Socket收发Demo程序示例

    基于Unix Domain的Socket服务器和客户端简单收发Demo程序实例。与传统的Socket相比较,Unix Domain Socket不走网络层和传输层,是通过文件的方式进行socket传输,这样大大减少了内部资源消耗,提高效率。

    delphi socket通信编程示例

    Delphi是一种强大的面向...具体实现时,你可以参考提供的"socket通信"文件中的示例代码,结合Delphi的组件和API进行学习和实践。通过这种方式,你将能够创建自己的网络应用程序,实现客户端和服务端之间的高效通信。

    基于VC的socket通信

    《基于VC的Socket通信详解》 在计算机网络编程中,Socket通信是一种常用的技术,它允许应用程序通过网络进行数据传输。本文将深入探讨如何在Visual C++(简称VC)环境中使用Socket进行网络通信,并以简单的代码示例...

    C# Socket 通信,客户端服务器端

    本教程将深入讲解C#中的Socket通信,包括客户端和服务器端的实现,以及如何通过源码学习相关知识。 首先,我们要理解Socket的基本概念。Socket,也称为套接字,是网络通信中的一个接口,它允许应用程序通过网络发送...

Global site tag (gtag.js) - Google Analytics