Java Socket应用(五)——编程实现基于 TCP 的 Socket 通信
来源:互联网 发布:mac打开mpp 编辑:程序博客网 时间:2024/05/17 02:54
转载请注明:http://blog.csdn.net/uniquewonderq
思路:
服务器段的测试代码如下:
:
package com.test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;import java.util.logging.Level;import java.util.logging.Logger;/** * * @author wonderq */public class server {//服务器端 public static void main(String[] args) { try { //1.创建一个服务器端Socket,即serverSocket,指定绑定的端口,并监听此端口。 ServerSocket serverSocket=new ServerSocket(8888); //2.调用serverSocket的accept()方法,等待客户端的连接 System.out.println("==服务器即将启动,等待客户端的连接=="); Socket socket=serverSocket.accept(); //3.获取输入流用来读取客户端所发出的登录信息 InputStream is=socket.getInputStream();//字节输入流 InputStreamReader isr=new InputStreamReader(is);//将字节流转化为字符流 //为字符流添加缓冲 BufferedReader bufferedReader=new BufferedReader(isr); String info=null; //循环读取客户端提交的信息 while((info=<span style="font-family: Arial, Helvetica, sans-serif;">bufferedReader.readLine()</span>)!=null){ System.out.println("我是服务器,客户端提交的信息是:"+info); } socket.shutdownInput(); //4.关闭相关的资源 bufferedReader.close(); is.close(); isr.close(); socket.close(); serverSocket.close(); } catch (IOException ex) { Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex); } }}
客户端的如下:
package com.test;import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;import java.util.logging.Level;import java.util.logging.Logger;/** * * @author wonderq */public class client {//客户端 public static void main(String[] args) { try { //1.创建客户端Socket,指定服务器地址和端口号 Socket socket=new Socket("127.0.0.1", 8888); //2.获取输出流,用来向服务器发送信息 OutputStream os=socket.getOutputStream();//字节输出流 //转换为打印流 PrintWriter pw=new PrintWriter(os); pw.write("用户名:wonderq;密码:root"); pw.flush();//刷新缓存,向服务器端输出信息 //关闭输出流 socket.shutdownOutput(); //3.关闭资源 pw.close(); os.close(); socket.close(); } catch (IOException ex) { Logger.getLogger(client.class.getName()).log(Level.SEVERE, null, ex); } }}
之后,先运行服务器端,运行结果:
==服务器即将启动,等待客户端的连接==
然后再运行客户端,无输出。此时再去查看服务器端类的输出,发现发生了变化:
此时为:
0 0
- Java Socket应用(五)——编程实现基于 TCP 的 Socket 通信
- 【Java Socket】入门系列 3.2.编程实现基于 TCP 的 Socket 通信 — 服务器端和客户端
- Java Socket(四)编程实现基于 TCP 的 Socket 通信
- java实现基于TCP的socket通信实例(客户端)
- java Socket基于TCP协议编程实现通信
- java socket编程——TCP通信
- Java网络编程——基于TCP的Socket编程
- Java 基于TCP/IP 实现简单的 socket 通信
- Java 基于TCP/IP 实现简单的 socket 通信
- Java Socket应用——通信(TCP)
- Socket编程——基于TCP实现自己的通信协议
- Socket编程——基于TCP实现自己的通信协议
- Java基于TCP/IP的Socket通信
- Java中基于TCP的Socket通信
- java 基于TCP的Socket网络通信
- 基于TCP协议的网络通信(socket编程)
- 编程实现基于tcp的socket编程
- Java 网络编程(五) 使用TCP/IP的套接字(Socket)进行通信
- 对于node.js开发指南中博客案例的修改实现(二)--代码
- ucore操作系统lab4实验报告(理论部分)
- 配置匿名用户
- Difference Between Primes(素数打表,素数表与数表通用)
- 物联网系统的搭建(二)
- Java Socket应用(五)——编程实现基于 TCP 的 Socket 通信
- CentOS7下的btrfs文件系统
- Java连接MySQL数据库
- 背包问题:动态规划和贪心算法
- js继承如何实现继承?
- 常规FTP服务器配置案例
- HDOJ 5044 Tree
- 物联网系统的搭建(三)
- 进程、线程同步互斥学习 —— 事件