首页 > 其他 > 详细

TCP通信小实例

时间:2014-10-24 16:06:03      阅读:262      评论:0      收藏:0      [点我收藏+]

服务端:

package com.socket.tcp;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 基于TCP协议通信,服务端
 */
public class Server
{
    public static void main(String[] args)
    {
        ServerSocket serverSocket = null;
        Socket socket = null;
        BufferedReader in = null;
        PrintWriter out = null;
        try
        {
            serverSocket = new ServerSocket(10000);
            socket = serverSocket.accept();
            in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            out = new PrintWriter(socket.getOutputStream());
            while (true)
            {
                String str = in.readLine();
                System.out.println("来自客户端的:" + str);
                out.println("服务端收到了来自客户端的:" + str);
                out.flush();
                if ("end".equals(str))
                {
                    break;
                }
            }

        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                in.close();
                out.close();
                socket.close();
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    }

}

客户端:

package com.socket.tcp;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class Client
{
    /**
     * 基于TCP协议通信,客户端
     */
    public static void main(String[] args)
    {

        Socket socket = null;
        BufferedReader in = null;
        PrintWriter out = null;
        BufferedReader wt = null;
        try
        {
            socket = new Socket("127.0.0.1", 10000);//InetAddress.getLocalHost()
            in = new BufferedReader(new InputStreamReader(socket.getInputStream()));//收到的内容
            wt = new BufferedReader(new InputStreamReader(System.in));
            out = new PrintWriter(socket.getOutputStream());//获取输出流,发送的
            while (true)
            {
                String str = wt.readLine();
                out.println(str);
                out.flush();
                if ("end".equals(str))
                {
                    break;
                }
                System.out.println(in.readLine());//收到的
            }

        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                in.close();
                out.close();
                socket.close();
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    }

}

 

TCP通信小实例

原文:http://www.cnblogs.com/chrono/p/4048226.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!