java通信——单客户端与服务端通信
来源:互联网 发布:iphone手机助手软件 编辑:程序博客网 时间:2024/06/15 22:40
本例未运用多线程,实现单客户端与服务端通信
服务端:
- 用指定的端口实例化一个SeverSocket对象。服务器就可以用这个端口监听从客户端发来的连接请求。
- 调用ServerSocket的accept()方法,以在等待连接期间造成阻塞,监听连接从端口上发来的连接请求。
- 利用accept方法返回的客户端的Socket对象,进行读写IO的操作
- 关闭打开的流和Socket对象
package com.oaec;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;/** * 服务器主类 * * @author Administrator * */public class Service {public static void main(String[] args) throws IOException {/** * 基于TCP协议的Socket通信,实现用户登录,服务端 */// 1、创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口ServerSocket serverSocket = new ServerSocket(8080);// 2、调用accept()方法开始监听,等待客户端的连接Socket socket = serverSocket.accept();// 3、获取输入流,并读取客户端信息InputStream is = socket.getInputStream();InputStreamReader isr = new InputStreamReader(is);BufferedReader br = new BufferedReader(isr);String info = null;while ((info = br.readLine()) != null) {System.out.println("Hello,我是服务器,客户端说:" + info);}socket.shutdownInput();// 关闭输入流// 4、获取输出流,响应客户端的请求OutputStream os = socket.getOutputStream();PrintWriter pw = new PrintWriter(os);pw.write("Hello World!");pw.flush();// 5、关闭资源pw.close();os.close();br.close();isr.close();is.close();socket.close();serverSocket.close();}}
- 用服务器的IP地址和端口号实例化Socket对象。
- 调用connect方法,连接到服务器上。
- 获得Socket上的流,把流封装进BufferedReader/PrintWriter的实例,以进行读写
- 利用Socket提供的getInputStream和getOutputStream方法,通过IO流对象,向服务器发送数据流
- 关闭打开的流和Socket。
package com.oaec;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;public class Client {public static void main(String[] args) throws IOException {// 1、创建客户端Socket,指定服务器地址和端口Socket socket = new Socket("192.168.0.1", 8080);// 2、获取输出流,向服务器端发送信息OutputStream os = socket.getOutputStream();// 字节输出流PrintWriter pw = new PrintWriter(os);// 将输出流包装成打印流pw.write("用户名:admin;密码:admin");pw.flush();socket.shutdownOutput();// 3、获取输入流,并读取服务器端的响应信息InputStream is = socket.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is));String info = null;while ((info = br.readLine()) != null) {System.out.println("Hello,我是客户端,服务器说:" + info);}// 4、关闭资源br.close();is.close();pw.close();os.close();socket.close();}}
1 0
- java通信——单客户端与服务端通信
- java socket编程—单客户端与服务器通信
- JAVA TCP通信服务端与客户端实例
- java客户端与服务端通信Tcp/Ip
- JAVA与C#的TCP通信——JAVA客户端,C#线程池服务端
- socket通信 客户端与服务端
- 客户端与服务端通信原理
- Java IO——Socket:通过多线程实现多客户端与一个服务端通信
- Java IO——Socket:通过多线程实现多客户端与一个服务端通信
- binder通信实例之java客户端与java服务端
- java通信——多客户端与服务器通信
- Java socket客户端与服务端同步通信实例
- C服务端与java客户端的socket通信注意事项
- HESSIAN 的VC++ 客户端与JAVA服务端通信 实现
- ios socket编程初步:iphone客户端与java服务端通信
- Java客户端与服务端通信转换必备工具
- Java Socket简单实现客户端与服务端通信
- binder通信实例之java客户端与c++服务端
- R语言聚类算法之期望最大化聚类(Expectation Maximization Algorithm)
- javascript基础(定时调用及其练习)(四十一)
- 【机器学习】tensorflow: GPU求解带核函数的SVM二分类支持向量机
- 58到家数据库30条军规解读
- Linux安装ElasticSearch
- java通信——单客户端与服务端通信
- 分析综合时出现Warning (12241): 1 hierarchies have connectivity warnings - see the Connectivity Checks repor
- DMG文件介绍及建立
- android 百度地图获取左上角和右下角的坐标
- gephi打开提示can't find java1.6 or higer
- html和css学习小结
- Leetcode 46-47. Permutations backtrack
- Java实例学习 Java并发编程之java.util.concurrent.CountDownLatch
- mac上可以使用的Windows远程桌面APP