Java中如何实现Tcp通信的客户端与服务器端实例代码?

2026-05-28 09:221阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计574个文字,预计阅读时间需要3分钟。

Java中如何实现Tcp通信的客户端与服务器端实例代码?

本例展示了Java TCP通信中客户端与服务器的简单实现。以下是核心代码:

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

public class TestSocket { public static void main(String[] args) throws IOException { // 创建客户端Socket Socket clientSocket=new Socket(服务器地址, 服务器端口);

// 获取输出流,准备发送数据 PrintWriter out=new PrintWriter(clientSocket.getOutputStream(), true);

// 获取输入流,准备接收数据 BufferedReader in=new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

// 发送数据 out.println(你好,服务器!);

// 接收服务器响应 String response=in.readLine(); System.out.println(服务器回复: + response);

// 关闭连接 in.close(); out.close(); clientSocket.close(); }}

本文实例讲述了java Tcp通信客户端与服务器端。分享给大家供大家参考,具体如下:

由服务器端发送数据

服务器端:

Java中如何实现Tcp通信的客户端与服务器端实例代码?

import java.io.*; import java.net.*; public class TestSocket { public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(8888); while(true) { Socket s = ss.accept(); OutputStream os = s.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeUTF("hello" + s.getInetAddress() + "port" + s.getPort() + "beybye"); dos.close(); // os.flush(); os.close(); // s.close(); } } catch (IOException e) { e.printStackTrace(); System.out.println("there is a wrong"); } } }

用户端:

import java.io.*; import java.net.*; public class TestClient { public static void main(String[] args){ try { Socket s = new Socket("127.0.0.1",8888); DataInputStream dis = new DataInputStream(s.getInputStream()); System.out.println(dis.readUTF()); s.close(); dis.close(); } catch (Exception e) { e.printStackTrace(); } } }

无论是客户端还是服务器端都可以收发数据。

交互型

用户端

import java.io.*; import java.net.*; public class TestClient2 { public static void main(String[] args){ try { Socket s = new Socket("127.0.0.1",8886); DataOutputStream dos = new DataOutputStream(s.getOutputStream()); DataInputStream dis = new DataInputStream(s.getInputStream()); System.out.println(dis.readUTF()); dos.writeUTF("hey"); String str = null; if((str = dis.readUTF()) != null) { System.out.println(str); } s.close(); dis.close(); dos.close(); } catch (Exception e) { e.printStackTrace(); } } }

服务器端:

public class TestServer2 { public static void main(String[] args) { InputStream in = null; OutputStream out = null; try { ServerSocket ss = new ServerSocket(8886); while(true) { Socket s = ss.accept(); in = s.getInputStream(); out = s.getOutputStream(); DataOutputStream dos = new DataOutputStream(s.getOutputStream()); DataInputStream dis = new DataInputStream(s.getInputStream()); String str = null; if((str = dis.readUTF() )!= null) { System.out.println(str); System.out.println("form " + s.getInetAddress()); System.out.println("port " + s.getPort()); // dos.writeUTF("hello" + s.getInetAddress() + "port" + s.getPort() + "beybye"); } dos.writeUTF("hi hello"); dis.close(); dos.close(); s.close(); } } catch (IOException e) { e.printStackTrace(); System.out.println("there is a wrong"); } } }

更多关于java相关内容感兴趣的读者可查看本站专题:《Java Socket编程技巧总结》、《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

本文共计574个文字,预计阅读时间需要3分钟。

Java中如何实现Tcp通信的客户端与服务器端实例代码?

本例展示了Java TCP通信中客户端与服务器的简单实现。以下是核心代码:

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

public class TestSocket { public static void main(String[] args) throws IOException { // 创建客户端Socket Socket clientSocket=new Socket(服务器地址, 服务器端口);

// 获取输出流,准备发送数据 PrintWriter out=new PrintWriter(clientSocket.getOutputStream(), true);

// 获取输入流,准备接收数据 BufferedReader in=new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

// 发送数据 out.println(你好,服务器!);

// 接收服务器响应 String response=in.readLine(); System.out.println(服务器回复: + response);

// 关闭连接 in.close(); out.close(); clientSocket.close(); }}

本文实例讲述了java Tcp通信客户端与服务器端。分享给大家供大家参考,具体如下:

由服务器端发送数据

服务器端:

Java中如何实现Tcp通信的客户端与服务器端实例代码?

import java.io.*; import java.net.*; public class TestSocket { public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(8888); while(true) { Socket s = ss.accept(); OutputStream os = s.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeUTF("hello" + s.getInetAddress() + "port" + s.getPort() + "beybye"); dos.close(); // os.flush(); os.close(); // s.close(); } } catch (IOException e) { e.printStackTrace(); System.out.println("there is a wrong"); } } }

用户端:

import java.io.*; import java.net.*; public class TestClient { public static void main(String[] args){ try { Socket s = new Socket("127.0.0.1",8888); DataInputStream dis = new DataInputStream(s.getInputStream()); System.out.println(dis.readUTF()); s.close(); dis.close(); } catch (Exception e) { e.printStackTrace(); } } }

无论是客户端还是服务器端都可以收发数据。

交互型

用户端

import java.io.*; import java.net.*; public class TestClient2 { public static void main(String[] args){ try { Socket s = new Socket("127.0.0.1",8886); DataOutputStream dos = new DataOutputStream(s.getOutputStream()); DataInputStream dis = new DataInputStream(s.getInputStream()); System.out.println(dis.readUTF()); dos.writeUTF("hey"); String str = null; if((str = dis.readUTF()) != null) { System.out.println(str); } s.close(); dis.close(); dos.close(); } catch (Exception e) { e.printStackTrace(); } } }

服务器端:

public class TestServer2 { public static void main(String[] args) { InputStream in = null; OutputStream out = null; try { ServerSocket ss = new ServerSocket(8886); while(true) { Socket s = ss.accept(); in = s.getInputStream(); out = s.getOutputStream(); DataOutputStream dos = new DataOutputStream(s.getOutputStream()); DataInputStream dis = new DataInputStream(s.getInputStream()); String str = null; if((str = dis.readUTF() )!= null) { System.out.println(str); System.out.println("form " + s.getInetAddress()); System.out.println("port " + s.getPort()); // dos.writeUTF("hello" + s.getInetAddress() + "port" + s.getPort() + "beybye"); } dos.writeUTF("hi hello"); dis.close(); dos.close(); s.close(); } } catch (IOException e) { e.printStackTrace(); System.out.println("there is a wrong"); } } }

更多关于java相关内容感兴趣的读者可查看本站专题:《Java Socket编程技巧总结》、《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。