简单Socket示例

服务端:

package study.socket;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class SocketServer {

    public static void main(String[] args) {
        final int port = 8888;
        try {
            ServerSocket server = new ServerSocket(port);
            Socket socket = null;
            while (true) {
                socket = server.accept();
                DataInputStream input = new DataInputStream(socket.getInputStream());
                String msg = input.readUTF();
                System.out.println("服务器接收到客户端信息:" + msg);
                // 向客户端回复信息
                DataOutputStream out = new DataOutputStream(socket.getOutputStream());
                if (msg.equals("bye")) {
                    out.writeUTF("感谢您的使用,再见!");
                } else {
                    out.writeUTF("感谢连接,您已经成功连接到服务器了");
                }
                out.close();
         socket.close(); } }
catch (IOException e) { e.printStackTrace(); } } }

客户端:

package study.socket;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

public class SocketClient {

    public static void main(String[] args) {
        final String host = "127.0.0.1";
        final int port = 8888;
        try {
            Socket socket = new Socket(host, port);
            System.out.println("连接服务器成功...");
            // 读取服务器端数据
            DataInputStream input = new DataInputStream(socket.getInputStream());
            // 向服务器端发送数据
            DataOutputStream out = new DataOutputStream(socket.getOutputStream());
            System.out.print("请输入: \t");
            String str = new BufferedReader(new InputStreamReader(System.in)).readLine();
            out.writeUTF(str);
            String result = input.readUTF();
            System.out.println("服务器端返回的消息: " + result);
            out.close();
            input.close();
            socket.close();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

 

posted @ 2016-10-19 11:18  Vincent-Li  阅读(186)  评论(0)    收藏  举报