`

Java Socket 的一个实例程序

    博客分类:
  • java
阅读更多
Java通过TCP协议的通信的编程都是通过Socket ,不会很难,一般通用的就是下面这个小例子。大概就能了解Socket的编程方法了。

import java.io.*;
import java.net.*;

public class EchoServer {
public static void main(String[] args) {
  try {
   ServerSocket s = new ServerSocket(8500);
   Socket incoming = s.accept();
   BufferedReader in = new BufferedReader(new InputStreamReader(
     incoming.getInputStream()));
   PrintWriter out = new PrintWriter(incoming.getOutputStream(), true /* autoFlush */);

   out.println("Hello! Enter BYE to exit.");

   boolean done = false;
   while (!done) {
    String line = in.readLine();
    if (line == null)
     done = true;
    else {
     out.println("Echo: " + line);
     if (line.trim().equals("BYE"))
      done = true;
    }
   }
   incoming.close();
  } catch (Exception e) {
   System.out.println(e);
  }
}
}



import java.io.*;
import java.net.*;

public class EchoClient {
public static void main(String args[]) {
  try {
   if (args.length != 1) {
    System.out.println("USAGE: java Client servername");
    return;
   }
   String connectto = args[0];
   Socket connection;
   // connect to server
   if (connectto.equals("localhost")) {
    connection = new Socket(InetAddress.getLocalHost(), 8500);
   } else {
    connection = new Socket(InetAddress.getByName(connectto), 8500);
   }
   BufferedReader input = new BufferedReader(new InputStreamReader(
     connection.getInputStream()));
   PrintWriter out = new PrintWriter(connection.getOutputStream(),
     true /* autoFlush */);

   // read information from server
   String info;
   info = input.readLine();
   System.out.println(info);
   boolean done = false;
   BufferedReader in = new BufferedReader(new InputStreamReader(
     System.in));
   String sInput;
   while (!done) {
    sInput = in.readLine();
    out.println(sInput);
    if (sInput.equalsIgnoreCase("bye"))
     done = true;
    info = input.readLine();
    System.out.println(info);
   }
   connection.close();
  } catch (SecurityException e) {
   System.out.println("SecurityException when connecting Server!");
  } catch (IOException e) {
   System.out.println("IOException when connecting Server!");
  }
}
}

分享到:
评论

相关推荐

    java socket 长连接实例

    "Java Socket 长连接实例"是关于如何实现一个持久连接的服务器和客户端程序的示例,这种连接能够保持开放,直到一方明确地关闭它。这在需要频繁通信或者需要长时间保持连接状态的应用场景中非常有用,比如聊天应用、...

    java socket 多线程实例

    在这个“Java Socket 多线程实例”中,我们将会探讨如何结合这两个关键概念来创建一个聊天服务器和客户端应用。 首先,`ChatServer.java` 文件通常包含了服务器端的代码。在Java中,通过`java.net.ServerSocket` 类...

    JAVA SOCKET 编码实例

    9. **实例分析**:FMNotifServer这个文件可能是一个服务器端的示例代码,可能包含了上述提到的Socket编程的关键步骤和CINDY包的使用。通过阅读和理解这个代码,可以进一步巩固Socket编程的知识。 为了更好地学习和...

    Java Socket使用实例

    在这个“Java Socket使用实例”中,我们将探讨如何创建一个简单的Java Socket应用,它包括一个服务器端和一个客户端,两者通过Socket进行数据交换,将信息显示在窗口中。 首先,让我们了解Socket的基本概念。Socket...

    Java socket文件传输实例

    总的来说,Java Socket文件传输实例是一个典型的网络编程应用场景,它可以帮助开发者理解网络通信的基本过程,并提供了一种在实际项目中实现文件共享和传输的途径。通过学习和实践这个实例,我们可以提升对Java网络...

    java socket编程实例(出自《java大学教程》)

    学习这些Java Socket编程实例,有助于理解TCP/IP通信的基本原理,为构建实际的网络应用程序打下坚实的基础。你可以通过调试和修改`SocketTest`代码,进一步探索和实践Socket编程的不同场景,如文件传输、聊天应用等...

    Java socket编程实例代码(Blog配套代码)

    一旦有客户端连接,ServerSocket会接受连接并创建一个新的Socket实例来处理这个特定的通信通道。客户端则通过Socket类建立到服务器的连接,并通过这个连接发送和接收数据。 在"SimpleChatroom"这个例子中,我们可能...

    Java Socket实例(服务器多线程)

    在这个实例中,我们将探讨如何在Java中实现一个多线程的Socket服务器,以便同时处理多个客户端的请求。多线程是关键,因为它允许服务器并行处理多个连接,提高了系统的效率和响应速度。 首先,我们需要了解Socket的...

    JAVA Socket聊天室源程序

    一旦有客户端请求连接,服务器端就会创建一个新的Socket实例,与该客户端建立连接。然后,服务器端可以读取客户端发送的数据,并将数据广播给其他所有连接的客户端。 客户端则需要创建一个Socket对象,指定服务器的...

    android socket通信实例程序

    本实例程序主要涉及到的是Android应用如何利用Socket进行TCP(Transmission Control Protocol)通信,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。 在Android中使用Socket,首先需要导入相关的Java...

    Python与Java间Socket通信实例代码

    在 Server 端,我们使用 Java 实现了一个简单的 Socket 服务器,用于接收来自 Python 客户端的文件发送请求。下面是 Java 代码: ```java import java.io.BufferedReader; import java.io.File; import java.io....

    Java Socket多线程实例及文档

    Java Socket类代表了TCP协议中的一个连接,Socket对象由服务器端的ServerSocket监听并接受客户端的连接请求后创建。Socket提供了输入流和输出流,用于在客户端和服务器之间交换数据。这两个流可以是InputStream和...

    JAVA Socket编程实现文件上传

    10. **设计模式**:在实现文件上传服务时,可以借鉴设计模式,如工厂模式用于创建数据库连接,单例模式用于保证服务器Socket实例的唯一性,观察者模式用于通知文件上传完成后的后续处理等。 以上就是使用Java ...

    java socket聊天程序,有界面

    ServerSocket则用于监听客户端的连接请求,一旦有连接到来,就会创建一个新的Socket实例来处理这个连接。 3. **聊天程序**:聊天程序的核心功能包括用户注册、登录、创建聊天室、发送和接收消息等。在Java中,可以...

    Java socket聊天程序 有界面

    Socket分为ServerSocket和Socket两种类型,ServerSocket用于监听客户端连接,Socket则代表一个客户端与服务器的连接实例。 2. **多线程处理**: 在多人聊天室中,每个客户端连接都需要独立的线程来处理,以便同时...

    java socket 视频流转发socket

    当一个客户端(使用Socket)尝试连接到该端口时,ServerSocket会创建一个新的Socket实例来处理这个连接。这被称为“三次握手”过程,是TCP连接建立的标准步骤。 视频流转发的核心在于接收来自一个源的视频数据,...

    java socket 编程,Java socket 编程实例

    接下来,我们通过一个简单的Java Socket编程示例来深入了解如何在Java中实现Socket编程。该示例展示了一个简单的Web客户端程序,用于获取一个HTML页面的内容。 ```java import java.io.*; import java.net.*; ...

    java socket 简单的文件传输程序

    - **Socket类**:客户端通过`new Socket(InetAddress address, int port)`创建Socket实例,指定服务器的IP地址和端口进行连接。 - **getInputStream()和getOutputStream()**:这两个方法分别获取Socket的输入流和...

    JAVA Socket聊天程序

    在设计一个简单的Java Socket聊天程序时,通常会包含以下几个关键步骤: 1. **服务器端**: - 创建ServerSocket实例,指定监听的端口号。 - 使用ServerSocket的`accept()`方法等待客户端的连接请求。当有客户端...

    Java socket编程实例.pdf

    本文将通过一个具体的Java Socket编程实例来深入探讨如何使用Java实现客户端与服务端之间的通信。 #### 二、基础知识概述 在开始具体实例之前,我们需要了解一些基本概念: - **Socket**:Socket是一种用于在网络...

Global site tag (gtag.js) - Google Analytics