java Socket通讯建立

该博客展示了如何使用Java的Socket编程实现客户端向服务器端发送数据并接收响应的过程。客户端通过建立Socket连接,编码字符串并写入输出流,服务器端通过ServerSocket监听,接收客户端数据并打印出来。此示例着重于基础的TCP/IP通信原理和Java的网络编程应用。
摘要由CSDN通过智能技术生成

客户端

@RestController
public class c
{
    @RequestMapping("/client")
    public static void  ggg() throws IOException
    {
        String mesg="1234567890987654321234";//需要发送的数据
        Socket sck=new Socket("192.168.6.101",10003);//服务器的ip和开放的端口
        byte[] bstrem=mesg.getBytes("UTF-8");//编码格式
        OutputStream os=sck.getOutputStream();//创建数据流
        os.write(bstrem);//发送到服务器
        sck.close();
    }
}

服务端

@RestController
public class c1
{
    private ServerSocket serverSocket;
    private DataInputStream dataInputStream;
    private static Socket  socket =null;

    @RequestMapping("/server")
  public void start()
  {
      try
      {
          if (serverSocket==null)
          {
              serverSocket=new ServerSocket(10003);//设置接收端口为10003
          }
          socket =serverSocket.accept();//接受外部数据来访
          dataInputStream=new DataInputStream(socket.getInputStream());//获取数据流
          getMessageformClient();
      }
      catch (IOException e) {
          e.printStackTrace();
      }
  }

  public void getMessageformClient()
  {
      try {
              int length=dataInputStream.read();//获取数据流长度
              byte[]body=new  byte[length+1];//声明一个数组长度和获取数据流长度一致
              dataInputStream.read(body);//将获取的数据流填到声明的数组中
              String mes=new String(body);//数据流转为字符串
              System.out.println(mes);//输出信息
      } catch (IOException e) {
          e.printStackTrace();
      }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值