Java TCP客户端编程如何实现高效通信?
- 内容介绍
- 文章标签
- 相关推荐
本文共计318个文字,预计阅读时间需要2分钟。
TCP通信是一种有连接状态的通信,客户端和服务端必须保持连接才能实现通信。以下是简化后的代码:
javapackage cn.mym.tcp;
import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;
请注意,这段代码没有包含完整的类实现和错误处理。
TCP通信是有连接状态的通信,客户端和服务器必须相连才可以实现通信package cn.mym.tcp; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class TCPClient { /** *
title:main
*function:点对点通信客户端
*@author mym *@param args */ static Socket socket; static InputStream inputStream; static OutputStream outputStream; static DataInputStream dataInputStream; static DataOutputStream dataOutputStream; public static void main(String[] args) { //启动线程 new Thread(new Client()).start(); while(true){ //这里持续的发消息 try { System.out.println("给服务器发信息:"); dataOutputStream.writeUTF(new Scanner(System.in).next()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } static class Client implements Runnable{ @Override public void run() { // TODO Auto-generated method stub try { socket = new Socket("127.0.0.1", 9999);//服务器地址和端口9999 while(true){ inputStream = socket.getInputStream(); outputStream = socket.getOutputStream(); dataInputStream = new DataInputStream(inputStream); dataOutputStream = new DataOutputStream(outputStream); String msg; try{ msg = dataInputStream.readUTF(); }catch(Exception e){ msg = null; } if(msg != null){ System.out.println("服务器来信:"+msg); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }本文共计318个文字,预计阅读时间需要2分钟。
TCP通信是一种有连接状态的通信,客户端和服务端必须保持连接才能实现通信。以下是简化后的代码:
javapackage cn.mym.tcp;
import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;
请注意,这段代码没有包含完整的类实现和错误处理。
TCP通信是有连接状态的通信,客户端和服务器必须相连才可以实现通信package cn.mym.tcp; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class TCPClient { /** *
title:main
*function:点对点通信客户端
*@author mym *@param args */ static Socket socket; static InputStream inputStream; static OutputStream outputStream; static DataInputStream dataInputStream; static DataOutputStream dataOutputStream; public static void main(String[] args) { //启动线程 new Thread(new Client()).start(); while(true){ //这里持续的发消息 try { System.out.println("给服务器发信息:"); dataOutputStream.writeUTF(new Scanner(System.in).next()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } static class Client implements Runnable{ @Override public void run() { // TODO Auto-generated method stub try { socket = new Socket("127.0.0.1", 9999);//服务器地址和端口9999 while(true){ inputStream = socket.getInputStream(); outputStream = socket.getOutputStream(); dataInputStream = new DataInputStream(inputStream); dataOutputStream = new DataOutputStream(outputStream); String msg; try{ msg = dataInputStream.readUTF(); }catch(Exception e){ msg = null; } if(msg != null){ System.out.println("服务器来信:"+msg); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
