Java如何实现简单后台访问并获取IP
作者:wangchw 时间:2021-10-27 02:26:27
后台服务端
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket s = new ServerSocket(1122);//服务器端口号
Socket ss = s.accept();
// 获取IP访问者IP地址
String cip = ss.getInetAddress().getHostAddress();
// 接收信息获取访问姓名身份同时向访问者问好
String msg = String.format("%s:Hello\s\n", "wo", cip);
OutputStream os = ss.getOutputStream();
PrintWriter out = new PrintWriter(os);
out.write(msg);
out.flush();
System.out.println("有人连线了: " + cip);
// 读取信息
InputStream is = ss.getInputStream();
System.out.println(new String(is.readAllBytes()));
System.out.println(ss.isConnected());
os.close();
}
}
客户端
import java.io.*;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
Socket client = new Socket("192.168.1.16", 1122);//服务器端口号1122,IP也可以自定义访问也可以在IP那里输入localhost访问本机
if (client.isConnected()) {
// 接收信息
InputStream is = client.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
System.out.println(br.readLine());
// 向服务器发送个人信息
String msg = "学生:xxx\r\n";//名字可以定义
OutputStream os = client.getOutputStream();
os.write(msg.getBytes());
os.flush();
System.out.println(client.isConnected());
System.out.println(client.isClosed());
is.close();
os.close();
}
}
}
后台接收的信息
客户端接收的信息
来源:https://www.cnblogs.com/wangchw/p/13831283.html
标签:Java,后台,访问,获取,IP
0
投稿
猜你喜欢
MyBatis在SQL语句中如何获取list的大小
2021-08-15 12:09:55
详解Java对象结构与对象锁的升级
2021-12-05 16:18:38
Java表单重复提交的避免方法
2022-03-03 10:06:06
Java面试必备之ArrayList陷阱解析
2023-02-16 18:14:26
使用JavaWeb webSocket实现简易的点对点聊天功能实例代码
2023-10-29 00:14:17
MyBatis的SQL执行结果和客户端执行结果不一致问题排查
2022-12-30 20:37:22
Dubbo实现分布式日志链路追踪
2023-08-23 21:00:54
简单谈谈Struts动态表单(DynamicForm)
2022-10-07 07:24:29
spring boot实战教程之shiro session过期时间详解
2023-01-05 01:37:47
聊一聊Java的JVM类加载机制
2023-11-08 03:58:37
springboot集成mybatisplus的方法
2022-08-02 16:35:12
Java 中的抽象介绍
2023-03-27 06:10:20
Java单例模式分析
2023-11-16 03:17:06
Java编程实现帕斯卡三角形代码示例
2023-11-02 08:08:24
分布式医疗挂号系统SpringCache与Redis为数据字典添加缓存
2023-06-28 02:26:55
RabbitMQ开启SSL与SpringBoot连接测试的配置方法
2023-09-25 14:40:30
springboot使用单元测试实战
2023-05-17 11:55:29
java使用链表实现约瑟夫环
2022-03-21 18:59:35
redis redisson 集合的使用案例(RList、Rset、RMap)
2023-11-13 13:50:21
java实现动态 代理方法浅析
2023-11-28 23:33:59