Java Socket学习(一)——Socket简单连接

来源:互联网 发布:2009年最火的网络歌曲 编辑:程序博客网 时间:2024/05/16 04:26

最近做项目需要两个安卓端通信,不知道如何实现消息的传递,这才接触到Socket,汗颜~

  • 这篇博客内容是记录最为基础的客户端和服务端代码的,在阅读过程中如有不适,请及时猛击浏览器右上角的 ×

Socket的介绍就不在此赘述,网上有好多,实在找不到,去查百度百科也行。在这里就直接粘代码了。

服务端代码

package com.imudges.j2se.network;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;public class Server {    private Socket socket;    //声明一个ServerSocket对象    private ServerSocket serverSocket;    /**     * 构造函数     * */    public Server() {}    /**     * 获取连接的函数     * */    public void getServer(){        try {            //绑定的端口为2017,此端口要与客户端请求的一致            serverSocket = new ServerSocket(2017);            while(true){                System.out.println("等待客户端连接......");                socket = serverSocket.accept();                //监听并接受到此socket的连接                if(socket.isConnected()){                    getClientInfo();                    System.out.println("连接成功!!!");                }            }        } catch (IOException e) {            e.printStackTrace();        }    }    public static void main(String args[]){        Server server = new Server();        //监听并接受连接        server.getServer();    }}

客户端代码

package com.imudges.j2se.network;import java.io.IOException;import java.io.PrintWriter;import java.net.InetAddress;import java.net.Socket;public class Client {    private Socket socket;    public Client() { }    private void connect(){        try {            socket = new Socket("127.0.0.1",2017);            System.out.println("连接完成!");            //从连接的Socket中获得服务器IP地址,类型为:InetAddress对象            InetAddress serverAddress = socket.getInetAddress();            //获得服务器的IP地址,存入serverIP中            String serverIP = serverAddress.getHostAddress();            //获得客户端的地址,类型为:InetAddress对象            InetAddress clientAddress = socket.getLocalAddress();            //获得客户端port            int clientPort = socket.getLocalPort();            System.out.println("serverAddress : " + serverAddress);            System.out.println("serverIP : " + serverIP);            System.out.println("clientAddress : " + clientAddress);            System.out.println("clientPort : " + clientPort);        } catch (IOException e) {e.printStackTrace();        }    }    public static void main(String args[]){        Client client = new Client();        client.connect();    }}

代码为我看完实验楼的Demo自己做出的尝试,侵删~