TCP数据交互

服务器端:

public class Server {
    private static ServerSocket server=null;
    private static PrintWriter out=null;
    private static BufferedReader  reader=null;
    private static Map<String,Socket> userMessages=new Hashtable<String, Socket>();
    private static void first(){
        try {
            //服务器启动
            server=new ServerSocket(1888);
            while(true){
                //有客户连接时
                Socket client=server.accept();
                //保存客户端信息,ip、socket
                userMessages.put(client.getInetAddress().getHostAddress(), client);
                //开辟线程处理数据
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            //取得输出流
                            out=new PrintWriter(client.getOutputStream(),true);
                            //取得输入流
                            reader=new BufferedReader(new InputStreamReader(client.getInputStream(),"utf-8"));
                            out.println("欢迎登陆");
                            String message=reader.readLine();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            if(server!=null){
                try {
                    server.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    public static void main(String[] args) {
        first();
    }
}

客户端:

public class Client {
    private static Socket client = null;
    private static PrintWriter out = null;
    private static BufferedReader reader = null;
    public static void main(String[] args) {
        try {
            client=new Socket("192.168.1.102",1888);
            out=new PrintWriter(client.getOutputStream().true);
            reader=new    BufferedReader(new InputStreamReader(client.getInputStream()));
            //向服务器发送信息
            out.println("");
            //服务器发送过来的数据保存到变量
            String message=reader.readLine();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

转载于:https://www.cnblogs.com/by-1642146903/p/7077331.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值