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(服务器给出反馈)的主要内容,如果未能解决你的问题,请参考以下文章

TCP通信程序练习5——上传文件-服务器给出反馈

JavaSE-21.3.2TCP通信程序练习1

Java TCP/IP SocketTCP Socket通信中由read返回值造成的的死锁问题(含代码)

网络编程 TCP协议:三次握手,四次回收,反馈机制 socket套接字通信 粘包问题与解决方法

TCP通信程序练习3——服务器数据写入文件

TCP通信程序练习3——服务器数据写入文件