Java如何实现简单后台访问并获取IP
作者:wangchw 发布时间:2021-10-27 02:26:27
标签:Java,后台,访问,获取,IP
后台服务端
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


猜你喜欢
- 本文实例为大家分享了Unity实现物体左右移动效果的具体代码,供大家参考,具体内容如下效果如下代码:using UnityEngine;us
- Spring Security 过滤器链及自定义Filter别名类名称Namespace Element or AttributeCHANN
- 本文实例讲述了android开发之listView组件用法。分享给大家供大家参考,具体如下:关于Android ListView组件中and
- 好几年没写博客了,很多知识不记是真的会忘记,以后还是保持写博客的习惯吧。坚持不一定成功,但放弃一定很舒服!(开玩笑(#^.^#))回归正题,
- 前言随着敏捷开发的流行,编写单元测试已经成为业界共识。但如何来衡量单元测试的质量呢?有些管理者片面追求单元测试的数量,导致底下的开发人员投机
- 本文实例讲述了C#实现字符串与图片的Base64编码转换操作。分享给大家供大家参考,具体如下:using System;using Syst
- 引言Java反射机制是一个非常强大的功能,在很多大型项目比如Spring, Mybatis都可以看见反射的身影。通过反射机制我们可以在运行期
- Android 中 Tweened animation的实例详解Tweened animation有四种类型,下面主要介绍Scale类型。运
- xml里面配置标签:<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc./
- 近和朋友完成了一个大单子架构是mvc5+ef6+Bootstrap,用的是vs2015,数据库是sql server2014。朋友做的架构,
- 2011年6月iBatis 更名为 MyBatis,从 iBatis 到 MyBatis,不只是名称上的变化,MyBatis 提供了更为强大
- 引言native image是GraalVM中提供的一个命令,可以把字节码文件或Jar包编译成为一个二进制可执行文件,同时它自己也是用Jav
- 1.背景选择器(位于res/drawable/,使用方法:android:background=”@drawable/XXX”) <?
- package com.famous.dark.util;import java.io.File;import java.io.FileFi
- 现在很多app的支付、输入密码功能,都已经开始使用自定义数字键盘,不仅更加方便、其效果着实精致。下面带着大家学习下,如何 * 微信的数字键盘,
- 本文实例为大家分享了java基于UDP实现在线聊天的具体代码,供大家参考,具体内容如下效果图:一、学习UDP的简单使用步骤接收端:Datag
- 推荐idea2022最新激活教程:idea2021最新激活方法https://www.jb51.net/article/197138.htm
- 实现二分法查找二分法查找,需要数组内是一个有序的序列二分查找比线性查找:数组的元素数越多,效率提高的越明显二分查找的效率表示:O(log2N
- 前言Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBa
- Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monke