Java 使用 Socket 实现客户端和服务器的信息交互
服务器
public class Server{
private ServerSocket serverSocket;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server() {
try {
// 定义连接端口
serverSocket = new ServerSocket(10000);
while(true) {
// 等待客户端连接
socket = serverSocket.accept();
// 获取本机地址
String RemoteIP = socket.getInetAddress().getHostAddress();
// 获取本机端口号
String RemotePort = ":" + socket.getLocalPort();
System.out.println("服务器:有一个用户进来了! IP 地址为:" + RemoteIP + RemotePort);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// 获取用户输入的内容
String line = in.readLine();
System.out.println("用户:" + line);
out = new PrintWriter(socket.getOutputStream(),true);
out.println("服务器:已经收到消息");
// 关闭资源
out.close();
in.close();
socket.close();
}
}catch(IOException e) {
out.println("wrong");
}
}
public static void main(String[] args) {
new Server();
}
}
客户端
public class Client{
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Client() {
try {
System.out.println("尝试连接 127.0.0.1:10000");
// 设置本机地址和端口号
socket = new Socket("127.0.0.1",10000);
System.out.println("连接成功!");
System.out.print("请输入你想说的话:");
BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
out = new PrintWriter(socket.getOutputStream(),true);
// 获取服务器传过来的消息
out.println(line.readLine());
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println(in.readLine());
// 关闭资源
out.close();
in.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
out.println("Wrong");
}
}
public static void main(String[] args) {
new Client();
}
}
服务器
客户端
Java 使用 Socket 实现客户端和服务器的信息交互的更多相关文章
- Java实验四 TCP客户端和服务器的应用
实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全 4.对通信内容进行摘要计算并验证 实验步骤 1.信息安全传送: 发送方A——————>接收方B A加密时,用B ...
- Socket TCP客户端和服务器的实现
import java.io.*; import java.net.Inet4Address; import java.net.InetSocketAddress; import java.net.S ...
- Java Web项目获取客户端和服务器的IP地址
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...
- socket | tcp客户端 tcp服务器 udp客户端 udp 服务器 创建方法
tcp服务器 #coding=utf-8 ''' 这里是tcp服务器端,要先启动 ''' import socket import threading bind_ip = "0.0.0.0& ...
- ASP.NET获取客户端及服务器的信息
客户端信息: 1. 在ASP.NET中专用属性: 获取服务器电脑名:Page.Server.ManchineName 获取用户信息:Page.User 获取客户端电脑名:Page.Request.Us ...
- Java网络编程客户端和服务器通信
在java网络编程中,客户端和服务器的通信例子: 先来服务器监听的代码 package com.server; import java.io.IOException; import java.io.O ...
- Socket编程——客户端,服务器端的读写操作
URL网络编程,最大的特征就是一对一的响应! 1:客户端“写”,服务器端用于“读” package coreBookSocket2; import java.io.InputStreamReader; ...
- Java的Socket通信----通过 Socket 实现 TCP 编程之多线程demo(2)
JAVA Socket简介 所谓socket 通常也称作”套接字“,用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过”套接字”向网络发出请求或者应答网络请求. import java.io ...
- python+socket实现网络信息交互及文件传输
Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket又称"套接字",应用程序通常通过"套接字" ...
随机推荐
- 【java虚拟机】jvm调优
转自:https://www.cnblogs.com/starhu/p/6400348.html?utm_source=itdadao&utm_medium=referral 堆大小设置JVM ...
- 【linux】vim常用命令
转自:https://www.runoob.com/linux/linux-vim.html vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输 ...
- Spring详解(五)------面向切面编程
.AOP 什么? AOP(Aspect Oriented Programming),通常称为面向切面编程.它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的 ...
- 修改IDEA默认模板
然后找到你想要修改的模板就可以了
- 并发控制--context篇
目录 1. 前言 2 Context 实现原理 2.1 接口定义 2.1 cancelCtx 2.1.1 Done()接口实现 2.1.2 Err()接口实现 2.1.3 cancel()接口实现 2 ...
- Sentinel限流、降级配置详解
安装Sentinel 下载sentinel-dashboard-1.8.2.jar 安装有jdk环境,8080端口未被占用 在jar包所在目录打开cmd,输入命令启动:java -jar sentin ...
- swiper tabs综合示例
html部分: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <m ...
- 对于MySQL远程连接中出现的一个问题总结
2021年9月3日更新补充 (真的心累,本来是个小问题,但是网上帖子都基本差不多,基本都是相同的操作,导致搜了半个多小时才解决) 一.首先为什么要重新发一次呢,因为我发现上次写的这个记录是不完善甚至是 ...
- noip模拟40
\(\color{white}{\mathbb{名之以:海棠}}\) 考场 \(t1\) 看见题意非常简单,觉得可能是个简单题 暴力算出几个小样例右端点右移的时候左端点都是单调右移的,以为具有单调性, ...
- git跟踪忽略规则文件.gitignore
在使用Git的过程中,我们希望有的文件比如临时文件,编译的中间文件等不要被跟踪,也不需要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交. 配置语法 以斜杠"/"开 ...