`

TCP实现的聊天代码

阅读更多

声明:以下代码仅供初学者了解端口操作用,不能作为正式的代码,里面有许多的可以优化的地方。但作为入门例子足够了!

  1. package chat;   
  2.   
  3. import java.io.BufferedReader;   
  4. import java.io.InputStream;   
  5. import java.io.InputStreamReader;   
  6. import java.io.PrintWriter;   
  7. import java.net.InetAddress;   
  8. import java.net.Socket;   
  9.   
  10. /**  
  11.  * TCP 发送数据的代码。  
  12.  *   
  13.  * @author 赵学庆 www.java2000.net  
  14.  */  
  15. public class TCPSendTest {   
  16.   public static void main(String[] args) {   
  17.     TCPSendTest app = new TCPSendTest();   
  18.     app.display();   
  19.   }   
  20.   
  21.   void display() {   
  22.     Socket s;   
  23.     byte buf[] = new byte[256];   
  24.     int count;   
  25.     byte[] host = new byte[128];   
  26.     try {   
  27.       // 输入目的方的主机名   
  28.       System.out.print("请输入目的方的主机名: ");   
  29.       count = System.in.read(host);   
  30.       InetAddress addr = InetAddress.getByName(new String(host, 0, count - 2));   
  31.       while (true) {   
  32.         System.out.print("请输入要发送的数据: ");   
  33.         count = System.in.read(buf);   
  34.         // 发送数据报   
  35.         s = new Socket(addr.getHostAddress(), 8888);   
  36.         InputStream is = s.getInputStream();   
  37.         BufferedReader reader = new BufferedReader(new InputStreamReader(is));   
  38.         PrintWriter out = new PrintWriter(s.getOutputStream());   
  39.         out.println(new String(buf, 0, count - 2));   
  40.         out.flush();   
  41.         String line = reader.readLine();   
  42.         System.out.print("返回信息: ");   
  43.         System.out.println(line);   
  44.         reader.close();   
  45.         out.close();   
  46.         s.close();   
  47.       }   
  48.     } catch (Exception e) {   
  49.       System.out.println(e);   
  50.     }   
  51.   }   
  52. }  
package chat;

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

/**
 * TCP 发送数据的代码。
 * 
 * @author 赵学庆 www.java2000.net
 */
public class TCPSendTest {
  public static void main(String[] args) {
    TCPSendTest app = new TCPSendTest();
    app.display();
  }

  void display() {
    Socket s;
    byte buf[] = new byte[256];
    int count;
    byte[] host = new byte[128];
    try {
      // 输入目的方的主机名
      System.out.print("请输入目的方的主机名: ");
      count = System.in.read(host);
      InetAddress addr = InetAddress.getByName(new String(host, 0, count - 2));
      while (true) {
        System.out.print("请输入要发送的数据: ");
        count = System.in.read(buf);
        // 发送数据报
        s = new Socket(addr.getHostAddress(), 8888);
        InputStream is = s.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        PrintWriter out = new PrintWriter(s.getOutputStream());
        out.println(new String(buf, 0, count - 2));
        out.flush();
        String line = reader.readLine();
        System.out.print("返回信息: ");
        System.out.println(line);
        reader.close();
        out.close();
        s.close();
      }
    } catch (Exception e) {
      System.out.println(e);
    }
  }
}



  1. package chat;   
  2.   
  3. import java.io.BufferedReader;   
  4. import java.io.InputStream;   
  5. import java.io.InputStreamReader;   
  6. import java.io.PrintWriter;   
  7. import java.net.ServerSocket;   
  8. import java.net.Socket;   
  9.   
  10. /**  
  11.  * TCP 接收数据的代码。  
  12.  *   
  13.  * @author 赵学庆 www.java2000.net  
  14.  */  
  15. public class TCPReceiveTest {   
  16.   void display() {   
  17.     ServerSocket socket;   
  18.     try {   
  19.       socket = new ServerSocket(8888);   
  20.       while (true) {   
  21.         Socket s = socket.accept();   
  22.         InputStream is = s.getInputStream();   
  23.         BufferedReader reader = new BufferedReader(new InputStreamReader(is));   
  24.         PrintWriter out = new PrintWriter(s.getOutputStream());   
  25.         String line = reader.readLine();   
  26.         System.out.println("接收到来自 " + s.getRemoteSocketAddress() + " 数据:");   
  27.         System.out.println(line);   
  28.         out.print("OK");   
  29.         out.flush();   
  30.         out.close();   
  31.         reader.close();   
  32.         s.close();   
  33.       }   
  34.     } catch (Exception e) {   
  35.       System.out.println(e);   
  36.     }   
  37.   }   
  38.   
  39.   public static void main(String[] args) {   
  40.     TCPReceiveTest app = new TCPReceiveTest();   
  41.     app.display();   
  42.   }   
  43. }  
分享到:
评论

相关推荐

    TCP实现聊天用mFC实现套接字网络编程TCP实现聊天

    为了实现聊天功能,你需要在用户输入消息后调用Send()发送到服务器,而服务器接收到消息后广播给所有已连接的客户端。 5. **错误处理**:网络编程中错误处理至关重要。CAsyncSocket提供了OnError()和OnStatus()虚...

    基于TCP的聊天软件的实现

    在“基于TCP的聊天室的简单实现”中,可以找到源代码文件,包括服务器端和客户端的实现。代码通常分为两部分:一部分处理网络通信逻辑,另一部分处理用户交互,如显示消息和接收用户输入。 **六、调试与优化** 开发...

    Java网络编程 TCP协议 聊天室

    在这个聊天室项目中,我们将探讨如何利用Java实现基于TCP协议的聊天室应用。 首先,TCP协议是一种面向连接的、可靠的传输协议。它在数据传输前会先建立连接,并通过三次握手来确保双方都可以正常通信。在数据传输...

    使用TCP实现实时聊天

    标题中的“使用TCP实现实时聊天”涉及到的是网络通信领域中的一个常见应用场景,即通过TCP(Transmission Control Protocol)协议来构建一个实时的聊天系统。TCP是一种面向连接的、可靠的、基于字节流的传输层通信...

    基于tcp的简单聊天室代码

    【标题】:“基于TCP的简单聊天室代码” TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在构建一个简单的聊天室时,TCP是常用的选择,因为它能保证数据的有序性和...

    QT下基于TCP的聊天室实现

    在本文中,我们将深入探讨如何在QT环境下使用TCP(传输控制协议)来实现一个简单的聊天室。QT是一个跨平台的应用程序开发框架,广泛用于创建图形用户界面和其他软件。TCP是互联网上常用的一种面向连接的、可靠的传输...

    用C++基于UDP_TCP实现聊天室,文件传输功能

    用C++基于UDP_TCP实现聊天室,文件传输功能 用C++基于UDP_TCP实现聊天室,文件传输功能 用C++基于UDP_TCP实现聊天室,文件传输功能 用C++基于UDP_TCP实现聊天室,文件...

    TCP实现客户端与服务器端聊天

    客户端则通过`connect()`函数尝试与服务器建立连接,一旦连接建立成功,双方就可以通过`send()`和`recv()`函数进行数据的发送与接收,实现聊天功能。在TCP中,数据是以字节流的形式传输,因此需要开发者自己处理消息...

    用socket(tcp)实现的聊天程序

    【标题】:用Socket(TCP)实现的聊天程序 在计算机网络编程中,Socket是用于在不同设备之间建立通信连接的基础工具。TCP(Transmission Control Protocol)是一种面向连接、可靠的传输协议,广泛应用于诸如聊天...

    基于linux的TCP网络聊天室设计与实现

    【基于Linux的TCP网络聊天室设计与实现】是一个项目,旨在构建一个能在多个客户端之间进行实时通信的系统,尤其强调私聊和群聊功能。在Linux操作系统环境下,TCP(传输控制协议)因其可靠性和面向连接的特性,成为...

    Python基于TCP实现会聊天的小机器人功能示例

    在这个示例中,我们将深入理解如何利用Python的socket模坓实现一个简单的TCP聊天机器人,这个机器人能够与用户进行基本的对话。 首先,我们来看服务端程序。服务端是等待客户端连接并处理接收到的消息的地方。在...

    基于tcp的聊天室C++代码

    【标题】"基于TCP的聊天室C++代码"是一份实现简单网络聊天功能的编程项目,主要使用C++语言,并基于TCP协议进行通信。TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,...

    TCP.rar_TCP 聊天_VC++ 聊天程序_tcp实现聊天c++

    【TCP协议详解与VC++实现聊天程序】 TCP(Transmission Control Protocol)是互联网协议栈中的传输层协议,负责在两个通信端点之间建立可靠的数据传输。它通过确认、重传和流量控制机制,确保数据包按照正确的顺序...

    TCP实现网络聊天程序

    在IT领域,网络通信是至关重要的一个部分,TCP(传输控制协议)作为互联网协议栈中的主力,被广泛用于实现各种网络应用,如电子邮件、文件传输、远程登录以及我们这里的主题——网络聊天程序。本篇文章将深入探讨...

    qt TCP网络编程与聊天室的实现

    在实现聊天室应用时,通常会有一个服务器端(QTcpServer)负责接收多个客户端(QTcpSocket)的连接请求。每个新连接都会分配一个独立的QTcpSocket来处理通信。服务器端可以监听所有客户端的连接,当接收到消息时,...

    Unity和C#实现TCP网络聊天

    在本项目中,“Unity和C#实现TCP网络聊天”是一个基于Unity引擎的网络通信示例,其中使用了C#语言来构建客户端和服务端的通信机制。这个系统允许用户通过TCP协议进行实时聊天交互,这对于游戏开发或者多人协作应用...

    TCP实现的迷你聊天室

    在“TCP实现的迷你聊天室”项目中,文件“ChatRoom”可能包含了服务器端和客户端的源代码,包括Java类如Server、Client、Message等,以及可能的配置文件。开发者需要理解TCP套接字编程的基本概念,熟悉Java的并发...

    基于Tcp的聊天程序

    在本项目“基于Tcp的聊天程序”中,开发者使用Win32汇编语言编写了客户端和服务器端的代码,以实现两台计算机之间的实时通讯。 1. **Win32汇编语言**:Win32汇编是针对Windows操作系统平台的汇编语言,它可以直接...

    实验一 基于DES加密的TCP聊天程序1

    这将涉及到对TCP协议的理解,使用socket编程接口,以及在代码中集成DES加密算法的实现。 总结来说,基于DES加密的TCP聊天程序结合了传统的加密技术和网络通信的基本原理,通过学习和实践,不仅可以加深对网络安全和...

    tcp聊天代码.rar

    TCP(Transmission Control Protocol...通过研究这个“tcp聊天代码”,你可以深入了解TCP协议的工作原理,以及如何在实际应用中实现可靠的数据传输。同时,这也是一个很好的练习,有助于提升网络编程和并发处理的能力。

Global site tag (gtag.js) - Google Analytics