`
yuankai
  • 浏览: 107162 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

简单实现Socket

    博客分类:
  • java
阅读更多
Server.java类的实现。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {


 private ServerSocket server;
 private Socket socket;
 private BufferedReader in;
 private PrintWriter out;

public static final String IP = "127.0.0.1";//这里是IP地址,这个地址可以随便修改(该为你自己的IP)

public static final int PORT = 3333;//这里是设置server的端口号
 
 public void startServer(){
  try {
   server = new ServerSocket(Server.PORT);
   int i = 1 , j = 1;
   while (true) {
    System.out.println("Server listen in Client Request! ");
    socket = server.accept();
    in = new BufferedReader(new InputStreamReader(socket
      .getInputStream()));
    out = new PrintWriter(socket.getOutputStream(), true);

    String line = in.readLine();
    System.out.println("Server get Client send " + i++ + " message:"+line);
    out.print("this Server return Client " + j++ + " message:" + line);
    out.close();
    in.close();
    socket.close();
   }
  } catch (IOException e) {
   e.printStackTrace();
   try {
    socket.close();
   } catch (IOException e1) {
    e1.printStackTrace();
   }
  }
 }
 
 public static void main(String[] args) throws IOException {
  Server server = new Server();
  server.startServer();
 }
}


Client.java的实现:

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

public class Client {

 private Socket socket;

 public void sendMessage(String message) {
  try {

    //这里初始化Socket 要提供两个参数 server的IP 和 port
   socket = new Socket(Server.IP, Server.PORT);
   socket.setSoTimeout(60000);
   // send message
   PrintWriter ps = new PrintWriter(new OutputStreamWriter(
     new BufferedOutputStream(socket.getOutputStream()), "GBK"),
     true);
   // must use println();
   ps.println(message);

   // read server return message
   BufferedReader br = new BufferedReader(new InputStreamReader(socket
     .getInputStream(), "GBK"));
   StringBuffer sbf = new StringBuffer();
   String str = null;
   int i = 1;
   while ((str = br.readLine()) != null) {
    sbf.append(str);
    System.out.println("Server return " + i++ + " message: "
      + sbf.toString());
   }
   br.close();
  } catch (Exception e) {
   e.printStackTrace();
   try {
    socket.close();
   } catch (IOException e1) {
    e1.printStackTrace();
   }
  }
 }

 public static void main(String[] args) {
  Client client = new Client();
  client.sendMessage("first socket!");
 }
}

注:这个只是个简单的Socket实现,并没有实现多线程访问。

分享到:
评论

相关推荐

    Android简简单单实现Socket通信(逆天系列)

    "Android简简单单实现Socket通信(逆天系列)"这个主题,意在展示如何在Android环境中搭建一个简单且易于使用的Socket通信框架,让开发者无需深入了解复杂的网络编程细节,就能快速地进行应用开发。 首先,我们来看...

    Python简单实现socket信息发送与监听功能示例

    本篇文章将详细介绍如何利用 Python 的 `socket` 库来实现简单的信息发送与监听功能,并通过具体的示例代码来帮助读者理解其工作原理。 #### 二、Socket 编程简介 Socket 是一种进程间通信机制,用于不同计算机或...

    Android中socket通信简单实现

    Android中socket通信简单实现 socket通信需要有一个服务器和客户端,可以把同一个APP作为服务器跟客户端,也可以分开成两个APP。 先上个图: 这里以一个APP作为服务器跟客户端为示例 1、添加网络访问权限 2、写...

    实现socket简易的聊天程序

    实现socket简易的聊天程序,实现socket简易的聊天程序

    socket简单实现程序

    在实现Socket通信时,通常包括以下步骤: 1. **创建ServerSocket**:服务器端需要创建一个ServerSocket对象,指定监听的端口号。例如,在Java中,可以使用`ServerSocket(int port)`构造函数。 2. **监听连接**:...

    c++实现Socket服务器和客户端功能

    C++作为一门强大的编程语言,可以很好地实现Socket接口,构建服务器和客户端应用。在这个项目中,我们将探讨如何使用C++在Visual Studio 2008环境下实现Socket服务器和客户端的基本功能。 首先,Socket在C++中主要...

    objective-c实现socket的几个Demo

    本篇文章将深入探讨Objective-C如何实现Socket编程,并结合iPhone和Mac平台的示例进行详细讲解。 首先,Socket是网络编程中的一个接口,它提供了一种在不同计算机之间建立连接并交换数据的方式。在Objective-C中,...

    基于HPSocket实现 socket 通讯 - 修正版 ( C# demo 、 C++ dll )

    本资源“基于HPSocket实现socket通讯 - 修正版 ( C# demo 、 C++ dll )”提供了一种实用的方法,帮助开发者高效地实现跨平台的网络通信功能。以下是关于HPSocket、Socket通讯以及其C#和C++实现的关键知识点: 1. **...

    C实现socket通信

    通过阅读和分析这些代码,可以更好地理解C语言实现socket通信的细节。为了更深入地学习,你可以尝试修改代码,添加新的功能,例如添加SSL/TLS加密以实现安全的TCP通信,或者实现UDP协议的socket通信。实践是检验理解...

    java实现简单socket通信

    Java实现的简单Socket通信是网络编程中的基础技术,主要用于设备间的双向数据传输。在这个场景中,我们有两个窗口,一个作为服务器端,另一个作为客户端,它们通过TCP协议进行通信。TCP是一种面向连接的、可靠的传输...

    JAVA Socket编程实现文件上传

    在这个场景中,我们讨论的是如何使用Java的Socket来实现文件上传功能,即从客户端将文件发送到服务器,然后保存到服务器的数据库中。这个过程涉及到多个关键知识点,下面我们将详细探讨。 1. **Java Socket基础**:...

    java socket连接池 实现

    在Java中,实现Socket连接池的方式有很多,比如Apache的Commons Pool库或者HikariCP等。这些库提供了一套完善的连接管理和复用机制,包括连接的创建、分配、回收以及超时处理等功能。以HikariCP为例,它以其高效的...

    Java rpc框架简易版,类似dubbo分布式实现 (纯socket实现).zip

    本项目提供了一个简易版的Java RPC框架实现,旨在模仿著名的Dubbo框架,但采用了更基础的Socket通信方式进行分布式服务的搭建。以下是这个项目的核心知识点: 1. **RPC原理**:RPC使得客户端可以像调用本地方法一样...

    cocos creator简单链接socket实现注册demo

    在Cocos Creator中,我们可以使用JavaScript的原生WebSocket对象来实现Socket通信。WebSocket是一种在单个TCP连接上进行全双工通信的协议,相比HTTP,它能保持长连接,使数据传输更高效。 以下是实现Socket注册功能...

    Qt实现Socket断线重连机制

    本篇文章将深入探讨如何在Qt中实现Socket的断线重连机制,这对于构建可靠、稳定的网络应用至关重要。 首先,我们要理解Socket的基本概念。Socket是网络通信中的一个端点,它允许两台计算机通过网络进行数据交换。在...

    基于socket实现Ping功能的源代码

    在IT行业中,网络通信是至关重要的部分,而Socket编程则是实现这一目标的关键工具。本文将深入探讨基于Socket实现Ping功能的源代码,涉及到的主要知识点包括Socket编程、原始套接字(SOCK_RAW)以及ICMP(Internet ...

    C++实现简单Socket通信

    在C++中,实现Socket通信主要涉及以下步骤: 1. **包含头文件**:使用Socket编程,我们需要包含`#include <sys/socket.h>`,`#include <netinet/in.h>`和`#include <arpa/inet.h>`这三个头文件,它们提供了Socket...

    API实现socket通信示例

    在本文中,我们将深入探讨如何使用API来实现Socket通信,特别关注使用Delphi 2010编写的示例。Socket编程是网络编程的基础,允许应用程序通过网络发送和接收数据。 首先,我们需要理解Socket接口,这是由Berkeley...

    基于socket简单通信协议实现

    本主题将深入探讨如何实现基于Socket的简单通信协议,主要包括以下几个方面: 一、Socket基本概念 Socket,通常称为套接字,是网络编程中的一个抽象概念,用于在网络上的两个进程间建立通信连接。在TCP/IP协议栈中...

    简单的Socket通信的实现

    本压缩包中的"简单的Socket通信的实现"包含了Server端和Client端的示例代码,旨在帮助初学者理解Socket通信的基本原理和使用方法。 首先,我们要明白Socket通信的基本流程。当一个Client想要与Server建立连接时,它...

Global site tag (gtag.js) - Google Analytics