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

xiaoxiao2021-02-27  162

最近做项目需要两个安卓端通信,不知道如何实现消息的传递,这才接触到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自己做出的尝试,侵删~

转载请注明原文地址: https://www.6miu.com/read-12259.html

最新回复(0)