举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > java tcp客户端 Java 网络TCP客户端套接字

java tcp客户端 Java 网络TCP客户端套接字

2023-03-04 02:18 Java教程

java tcp客户端 Java 网络TCP客户端套接字

java tcp客户端

Java TCP客户端是一种基于TCP协议的客户端,它可以与服务器进行通信,以实现数据传输。TCP是一种面向连接的协议,它可以保证数据在传输过程中不会丢失,而且可以保证数据的正确性。

Java TCP客户端使用java.net.Socket类来创建TCP连接。Socket类提供了一些方法来创建、关闭、发送和接收数据。Socket类的connect()方法用于创建TCP连接,getInputStream()方法用于获取服务器发送的数据,getOutputStream()方法用于向服务器发送数据,close()方法用于关闭TCP连接。

// 创建socket对象 
Socket socket = new Socket(host, port); 
// 连接服务器 
socket.connect(); 
// 读取服务端数据 
InputStream inputStream = socket.getInputStream(); 
// 向服务端写入数据 
OutputStream outputStream = socket.getOutputStream(); 
// 关闭socket对象 
socket.close();  

Java TCP客户端也可以使用java.nio.channels.SocketChannel来创建TCP连接。SocketChannel是一个面向流的通道,它可以将字节流传输到其他地方。SocketChannel的open()方法用于打开一个新的套接字通道,connect()方法用于创建TCP连接,read()方法用于读取服务端发送的数据,write()方法用于向服务端写入数据,close()方法用于关闭套接字通道。

   // 打开一个新的套接字通道   SocketChannel socketChannel = SocketChannel.open();   // 连接服务端   socketChannel.connect(new InetSocketAddress(host, port));   // 读取服务端数据   ByteBuffer buffer = ByteBuffer.allocate(1024);   int bytesRead = socketChannel.read(buffer);   // 向本地写入数

Java 网络TCP客户端套接字

Java网络教程 - Java网络TCP客户端套接字


Socket 类表示一个TCP客户端套接字。

以下代码显示如何创建TCP客户端套接字:

// Create Socket for 192.168.1.2 at  port 1234
Socket   socket = new Socket("192.168.1.2", 1234);

以下代码显示如何创建未绑定的客户端套接字,绑定它并连接它。

Socket socket = new Socket();
socket.bind(new InetSocketAddress("localhost",  1234));
socket.connect(new InetSocketAddress("localhost",  1234));

在连接Socket对象之后,我们可以分别使用getInputStream()和getOutputStream()方法使用其输入和输出流。


例子

以下代码显示了基于TCP套接字的Echo客户端。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;

public class Main {
  public static void main(String[] args) throws Exception {
    Socket socket = new Socket("localhost", 12900);
    System.out.println("Started client  socket at "
        + socket.getLocalSocketAddress());
    BufferedReader socketReader = new BufferedReader(new InputStreamReader(
        socket.getInputStream()));
    BufferedWriter socketWriter = new BufferedWriter(new OutputStreamWriter(
        socket.getOutputStream()));
    BufferedReader consoleReader = new BufferedReader(
        new InputStreamReader(System.in));

    String promptMsg = "Please enter a  message  (Bye  to quit):";
    String outMsg = null;

    System.out.print(promptMsg);
    while ((outMsg = consoleReader.readLine()) != null) {
      if (outMsg.equalsIgnoreCase("bye")) {
        break;
      }
      // Add a new line to the message to the server,
      // because the server reads one line at a time.
      socketWriter.write(outMsg);
      socketWriter.write("n");
      socketWriter.flush();

      // Read and display the message from the server
      String inMsg = socketReader.readLine();
      System.out.println("Server: " + inMsg);
      System.out.println(); // Print a blank line
      System.out.print(promptMsg);
    }
    socket.close();
  }
}


阅读全文
以上是编程学为你收集整理的java tcp客户端 Java 网络TCP客户端套接字全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部