zoukankan      html  css  js  c++  java
  • java tcp socket demo

     

    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.net.SocketAddress;
    
    public class TCPServer {
    
        private static final int RECV_BUF_SIZE = 1024;
        public static void main(String[] args) throws Exception {
            int servPort = 8088;
            ServerSocket servSock = new ServerSocket(servPort);
            int recvMsgSize;
            byte[] receiveBuf = new byte[RECV_BUF_SIZE];
            while (true) {
                Socket clntSock = servSock.accept();
                SocketAddress clientAddress = clntSock.getRemoteSocketAddress();
                System.out.println("Handling client at " + clientAddress);
                InputStream in = clntSock.getInputStream();
                OutputStream out = clntSock.getOutputStream();
                while ((recvMsgSize = in.read(receiveBuf)) != -1) {
                    out.write(receiveBuf, 0, recvMsgSize);
                }
                clntSock.close();
            }
    
        }
    
    }
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    
    
    public class TCPClient {
    
        public static void main(String[] args) throws Exception {
            String server = "127.0.0.1";
            byte[] data = "Hello World!".getBytes();
            int servPort = 8088;
            Socket socket = new Socket(server, servPort);
            System.out.println("Connecting to server…");
            InputStream in = socket.getInputStream();
            OutputStream out = socket.getOutputStream();
            out.write(data);
            int totalBytesRcvd = 0;
            int bytesRcvd;
            while (totalBytesRcvd < data.length) {
                bytesRcvd = in.read(data, totalBytesRcvd, data.length - totalBytesRcvd);
                totalBytesRcvd += bytesRcvd;
            }
            System.out.println("Received: " + new String(data));
            socket.close();
    
        }
    
    }
  • 相关阅读:
    编译 | 更新标准库_交叉编译工具链
    论文 | 图文_学科
    编码 | 二进制格式设计方案
    图片 | 图片上传管理
    进程 | 查询进程中包含多少线程
    第二周02:Fusion ICP逐帧融合
    exe文件当前目录搜索文件
    第一周:读取XML深度数据并将其重建为三维点云
    第二周:01 ICP迭代交互
    C++文件读写(转载)
  • 原文地址:https://www.cnblogs.com/iuyy/p/13583785.html
Copyright © 2011-2022 走看看