TCP通信练习1(服务器给出反馈)
Posted lsswudi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP通信练习1(服务器给出反馈)相关的知识,希望对你有一定的参考价值。
客户端
package com.inetTes01; /* 客户端:发送数据,接收服务器反馈 */ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class ClientDemo public static void main(String[] args) throws IOException //创建客户端的Socket对象(Socket) Socket s = new Socket("192.168.18.6", 10000); //获取输出流,写数据 OutputStream os = s.getOutputStream(); os.write("你好吗,我来了服务器端".getBytes()); // 接收服务器反馈,相当于读取数据 InputStream is = s.getInputStream(); byte[] bys = new byte[1024]; int len = is.read(bys); System.out.println("客户端:" + new String(bys, 0, len)); //释放资源 因为is,os 都是通过s得到的不需要再释放 s.close();
服务器
package com.inetTes01; /* 接收数据,给出反馈 */ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class ServerDemo public static void main(String[] args) throws IOException //创建服务器端的Socket对象(ServerSocket) ServerSocket ss = new ServerSocket(10000); //获取输入流,读数据 // ServerSocket类下的 accept?() 侦听要连接到此套接字并接受它。 Socket s = ss.accept(); // 获取输入流 InputStream is = s.getInputStream(); // 读数据 byte[] bys = new byte[1024]; int len = is.read(bys); System.out.println("服务器" + new String(bys, 0, len)); //给出反馈,相当于写数据 OutputStream os = s.getOutputStream(); os.write("数据已经收到".getBytes()); //释放资源 ss.close();
以上是关于TCP通信练习1(服务器给出反馈)的主要内容,如果未能解决你的问题,请参考以下文章
Java TCP/IP SocketTCP Socket通信中由read返回值造成的的死锁问题(含代码)