java socket

server

package tcp;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TcpServerDemo1 {
    public static void main(String[] args) throws Exception {
        //监听8080端口
        ServerSocket serverSocket = new ServerSocket(8080);
        //等待客户端连接
        Socket socket = serverSocket.accept();

        /*一般写法
        //读取客户端消息
        InputStream is = socket.getInputStream();
        byte[] buffer = new byte[1024];
        int len;
        while ((len = is.read(buffer))!=-1){
            String msg = new String(buffer,0,len);
            System.out.println(msg);
        }
         */
        //管道流读取法
        InputStream is = socket.getInputStream();
        ByteArrayOutputStream baos= new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len;
        while ((len = is.read(buffer))!=-1){
            baos.write(buffer,0,len);
        }
        System.out.println(baos.toString());

        //关闭流
        baos.close();
        is.close();
        socket.close();
        serverSocket.close();





    }
}

client

package tcp;

import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;


public class TcpClientDemo1 {
    public static void main(String[] args) throws Exception {
        //初始化服务器地址
        InetAddress serverIP =  InetAddress.getByName("127.0.0.1");
        //初始化端口号
        int port = 8080;
        //创建socket连接
        Socket socket = new Socket(serverIP,port);
        //发送消息
        OutputStream os = socket.getOutputStream();
        os.write("你好".getBytes());

        //关闭流
        os.close();
        socket.close();

    }
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是...
    天空下天的月亮阅读 6,248评论 10 41
  • 一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据...
    Java红茶阅读 3,728评论 0 5
  • 简介 网络编程,其实质是实现两台不同计算机之间的数据传递,将其分为客户端和服务器端。客户端:如手机App、浏览器、...
    淚無痕易阅读 3,520评论 0 0
  • 一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据...
    荒城9510阅读 2,144评论 0 0
  • File server and client GENERAL USAGE————————————— Start s...
    wxqyppqm阅读 5,447评论 0 0

友情链接更多精彩内容