基于Socket的JAVA网络编程
来源:互联网 发布:黑马程序员就业情况 编辑:程序博客网 时间:2024/05/03 02:50
Socket通信机制:
使用Socket进行Client/Server程序设计一般连接过程如下:
1.创建Socket。
2.打开连接到Socket的输入/输出流。
3.按照一定的协议对Socket进行读/写操作。
4.关闭Socket。
注:第3步是程序员来调用Socket和实现程序功能的关键步骤,其他3步在各种程序中基本相同。
简易通信程序设计:
①、客户端 ②、服务端
二、客户端Socket
public class TalkClient {public static void main(String[] args) {try{Socket socket=new Socket("127.0.0.1", 4700);//向本机的4700端口发送求情BufferedReader br=new BufferedReader(new InputStreamReader(System.in));//由系统标准输入设备构造BufferedReader堆箱,用来接收我们输入的Client消息PrintWriter pt=new PrintWriter(socket.getOutputStream());//由Socket堆箱得到输出流BufferedReader bb=new BufferedReader(new InputStreamReader(socket.getInputStream()));//由Socket对象输入流String line;line=br.readLine();while(!line.equals("byebye")){//若从标准系统输入读入的字符串为"byebye",则循环停止pt.println(line);pt.flush();//刷新输出流,使Server可以马上收到字符串System.out.println("客户端:"+line);System.out.println("服务端:"+bb.readLine());line=br.readLine();//从系统标准输入读入字符串}bb.close();//关闭输入流pt.close();//关闭输出流socket.close();//关闭Socket}catch(Exception e){System.out.println("错误"+e);}}}
三、服务端ServerSocket(重新创建一个JAVA工程)
public class TalkServer {public static void main(String[] args) {try{ServerSocket server=null;try{server=new ServerSocket(4700);//创建一个ServerSocket监听端口为4700的客户请求}catch(Exception e){System.out.println("不能监听:"+e);}Socket socket=null;try{socket=server.accept();//使用accept()阻塞等待客户请求,//求情到来就产生一个Socket,并继续执行}catch(Exception e){System.out.println("错误:"+e);}BufferedReader br=new BufferedReader(new InputStreamReader(System.in));BufferedReader bb=new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter pt=new PrintWriter(socket.getOutputStream());System.out.println("客户端:"+bb.readLine());//在标准输入上打印出从客服端读入的字符串String line;line=br.readLine();//从标准输入读入一行字符串while(!line.equals("byebye")){pt.println(line);pt.flush();System.out.println("服务端:"+line);//在标准输入上打印出读入的字符串System.out.println("客户端:"+bb.readLine());//从Client读入一行字符串,并打印在标准输出上line=br.readLine();}bb.close();pt.close();socket.close();server.close();}catch(Exception e){System.out.println("错误"+e);}}}
1 0
- 基于Socket的java网络编程
- 基于Socket的Java网络编程
- 基于Socket的java网络编程
- 基于Socket的java网络编程
- 基于Socket的JAVA网络编程
- 基于Socket的java网络编程
- 基于Socket的java网络编程
- 基于Socket的java网络编程
- java网络编程:基于TCP的socket编程
- Java网络编程(基于TCP的socket编程)
- Java网络编程2(基于UDP的socket编程)
- Java网络编程——基于TCP的Socket编程
- Java网络编程——基于UDP的Socket编程
- 基于Socket的Java网络编程集粹
- 基于Socket的Java网络编程集粹
- 基于Socket的Java网络编程集粹
- 基于Socket的Java网络编程集粹
- 基于Socket的Java网络编程集粹
- Android学习之轻量级数据库SQLite
- Java过滤器引发的异常:Resource interpreted as Stylesheet but transferred with MIME type text/html
- 【R语言】R安装指南
- java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter6-29
- linux下的tar命令
- 基于Socket的JAVA网络编程
- HTTP必知必会
- C语言中的堆排序是什么样子的过程
- 51nod--1181 质数中的质数(质数筛法)
- 5-24 约分最简分式
- 关于Linux系统编程的错误处理:errno、perror、strerror
- Javascript优化
- (一道处理指数的mod的题)Pow
- 问题解决:不要轻易自己修改数据库的id