思路:服务端接到请求,分发给多线程任务,返回时间给客户端
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通信。Socket通信是一种网络编程技术,允许两个或更多应用程序通过网络进行数据交换。 ...
本示例"C# Socket通信 Demo"旨在帮助开发者理解如何在C#环境中实现客户端(SocketClient)与服务器端(SocketServer)之间的数据交互。以下是对这个Demo的详细解析: 首先,Socket是网络通信的基础,它代表了网络上...
在Android与PC之间使用Socket通信时,Android设备作为客户端(Client),而PC则作为服务器(Server)。 **Android客户端实现:** 1. **创建Socket对象**:Android客户端首先需要创建一个Socket对象,指定服务器的IP...
在这个"JAVA Socket通信示例"中,我们可能会看到如何通过Socket类来创建连接,实现数据的单工、半双工和全双工传输。下面我们将深入探讨这些通信模式以及如何在Java中实现它们。 **1. 单工通信:** 单工通信是一种...
Socket通信的基本步骤包括:创建ServerSocket,等待客户端连接,创建Socket对象,通过输入/输出流进行数据交换,最后关闭连接。 在Mina与Socket通信的实现中,服务端通常使用Mina来创建一个Acceptor,监听特定端口...
在提供的压缩包文件“socket通信代码”中,可能包含了这些示例代码或其他更复杂的Socket通信实现。通过分析和理解这些代码,你可以进一步掌握Socket通信的原理和应用。记住,实际的Socket编程可能会涉及异常处理、多...
总结来说,"Qt Socket demo"是一个典型的网络通信示例,通过Qt4的Socket接口展示了服务器和客户端之间的数据交换。理解并掌握这部分知识,有助于开发者构建高效稳定的网络应用。实际编程中,开发者需要根据具体需求...
为了深入理解,你需要打开并分析这些示例脚本,看看它们是如何运用上述步骤来实现Socket通信的。 总的来说,MATLAB环境下的Socket通信为科研和工程应用提供了灵活的数据交换方式,尤其适用于需要实时数据处理和分析...
这个源码示例可以帮助学习者理解C#中的Socket通信流程,以及如何处理客户端和服务器之间的数据传输。通过实际运行和调试,你可以更深入地了解Socket通信的工作原理,例如错误处理、数据编码解码、多线程处理并发连接...
Socket通信是计算机网络编程中的重要概念,特别是在C#这样的高级编程语言中,它提供了一种在不同设备间进行数据传输的机制。本压缩包“Socket通信.zip”包含了一个基于C#实现的Socket通信实例,主要涉及到TCP协议的...
C#编程Socket通信详解 C# Socket通信详解是指在C#编程语言...通过上面的示例代码,可以看到C# Socket通信的实现,对于数据包的处理和解析非常重要。只有正确地处理和解析数据包,才能确保网络通信的正确性和可靠性。
基于Unix Domain的Socket服务器和客户端简单收发Demo程序实例。与传统的Socket相比较,Unix Domain Socket不走网络层和传输层,是通过文件的方式进行socket传输,这样大大减少了内部资源消耗,提高效率。
首先,Java Socket通信基于TCP(传输控制协议),它确保了数据的可靠传输,包括数据的顺序和无丢失。在聊天应用中,服务器端创建一个Socket监听特定的端口,等待客户端的连接请求。一旦客户端连接到服务器,它们之间...
Delphi是一种强大的面向...具体实现时,你可以参考提供的"socket通信"文件中的示例代码,结合Delphi的组件和API进行学习和实践。通过这种方式,你将能够创建自己的网络应用程序,实现客户端和服务端之间的高效通信。
《基于VC的Socket通信详解》 在计算机网络编程中,Socket通信是一种常用的技术,它允许应用程序通过网络进行数据传输。本文将深入探讨如何在Visual C++(简称VC)环境中使用Socket进行网络通信,并以简单的代码示例...
在《Android游戏编程之从零开始》一书中,作者可能会展示一个简单的TCP Socket通信的例子。在这个例子中,Android客户端可能作为Socket的发起者,连接到服务器端。服务器端通常会监听特定的端口,等待客户端的连接...
本篇将深入讲解C#中的Socket通信,通过一个详细的代码示例帮助理解其工作原理。 Socket,又称为套接字,是网络上不同计算机间进行通信的接口。在C#中,我们可以使用System.Net.Sockets命名空间中的Socket类来创建和...
在完成以上步骤后,用户通过telnet命令连接到localhost指定端口,就能实现收发消息的功能,从而验证了Socket通信的成功。 总之,C语言实现的Socket通信是一个基础且重要的技能,对于理解网络编程原理和开发网络应用...
Socket通信测试工具是一种用于调试和测试网络应用中socket编程的重要辅助软件。Socket工具通常具备简单易用的界面,能够帮助开发者模拟客户端与服务器之间的通信,验证数据传输的正确性,以及排查网络问题。在上位机...
本示例主要涵盖了Wi-Fi的搜索、连接以及数据传输这三个关键环节,这对于构建涉及网络通信的Android应用至关重要。 1. **Wi-Fi搜索** 在Android中,我们可以使用`WifiManager`类来获取和管理Wi-Fi相关的功能。首先...