一、一个简单的socket通信实例(TCP)

 

目录

 

1.服务端代码

 2.客户端代码


1.服务端代码

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 类功能描述:先启动服务器端,再启动客户端
 *
 * @author:***
 * @createTime:2018/11/5 16:02
 */
public class Server {

    public static void main(String[] args) {
        try {
            //1.创建服务器socket  指定监听端口
            ServerSocket serverSocket = new ServerSocket(18080);
            //2.调用accept()开始监听,等待客户的连接
            System.out.println("---------服务器即将启动,等待客户端连接---------");
            Socket socket = serverSocket.accept();
            //3.读取客户端发送信息
            BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            System.out.println("接收到客户端发送的消息为:" + br.readLine());
            socket.shutdownInput();
            //4.推送客户端请求
            PrintWriter pw = new PrintWriter(socket.getOutputStream());
            pw.write("response");
            pw.flush();
            socket.shutdownOutput();
            //5.关闭连接
            br.close();
            pw.close();
            socket.close();
            serverSocket.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

 2.客户端代码

import java.io.*;
import java.net.Socket;

/**
 * 类功能描述:客户端
 *
 * @author:***
 * @createTime:2018/11/5 16:03
 */
public class Client {

    public static void main(String[] args) {
        try {
            //1.创建客户端socket,指定服务器地址和端口
            Socket socket = new Socket("127.0.0.1", 18080);
            //2.向服务器发送信息
            PrintWriter pw = new PrintWriter(socket.getOutputStream());
            pw.write("request");
            pw.flush();
            socket.shutdownOutput();
            //3.读取服务器推送信息
            BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            System.out.println("接收到服务器推送的消息为:" + br.readLine());
            socket.shutdownInput();
            //4.关闭连接
            br.close();
            pw.close();
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值