当前位置: 博客首页 >> java >> 阅读正文

java socket编程基础实例 – 单客户端

作者: 郑晓 分类: java 发布于: 2013-09-18 07:53 浏览:7,595 评论(8)


前两天学到类集框架,有点儿绕里面去了,所以暂时放一边,先来学习下socket编程,尝尝鲜。。。。 这是最基础的一对一的socket,服务端只能与一个客户端“发生关系”。。。编译运行服务端后,程序阻塞等待客户端连接。客户端编译运行后与本机服务端进行连接,然后等待用户输入信息。信息发送到服务端,在服务端打印输出,同时服务端又返回给客户端一则信息。客户端输入end时两端程序退出。 这是服务端程序。 import java.io.<em>; import java.net.</em>;</p> <p>public class server { public static void main(String [] args) throws Exception { //声明抛出异常 //创建服务端的socket实例 ServerSocket server = new ServerSocket(2345); //阻塞 监听端口的连接,如果有连接则创建socket实例 Socket client = server.accept(); //声明接收(输入流)实例 接收来自客户端的数据 BufferedReader read = new BufferedReader( new InputStreamReader( client.getInputStream())); //声明发送(输出流)实例 将数据发送至连接的客户端 PrintWriter write = new PrintWriter( client.getOutputStream());</p> <pre><code> //无限的执行请求 while( true ) { //监听从客户端接收到的信息 如果有则读入一行 String str = read.readLine(); System.out.println("从客户端接收到:" + str); //向socket客户端发送信息 write.println("这是来自服务端的信息:" + str); write.flush(); //刷新输出缓冲 //如果接收的是end 退出。 if(str.equals("end")) break; } write.close(); //关闭发送 read.close(); //关闭接收 }

} 这是客户端程序。 import java.io.<em>; import java.net.</em>; public class client { public static void main(String [] arsg) throws Exception { //创建客户端实例 Socket client = new Socket( InetAddress.getLocalHost(), 2345); //声明接收(输入流) BufferedReader read = new BufferedReader( new InputStreamReader( client.getInputStream())); //声明发送(输出流) PrintWriter write = new PrintWriter( client.getOutputStream()); //声明键盘输入流 BufferedReader kbread = new BufferedReader( new InputStreamReader( System.in ));</p> <pre><code> while( true ) { //从键盘获取一行输入 String str = kbread.readLine(); //发送 write.println(str); write.flush(); if(str.equals("end")) break; System.out.println(read.readLine()); //获取一次返回 } System.out.println("退出连接!"); read.close(); write.close(); }

}

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/java-socket-programming-foundation-instance-single-client.html

java socket编程基础实例 – 单客户端:目前有8 条留言

用户评论头像 超拽QQ分组发表于 2013年11月23日 19:55[回复]

真实高手,支持,我也要加油学习了

用户评论头像 户外服装品牌哪个好发表于 2013年10月21日 16:01[回复]

又遇见一个玩Java的人

用户评论头像 泰安樱桃苗发表于 2013年10月20日 08:29[回复]

java强大。可是不是东,博主的博客是用java做的?

    用户评论头像 郑晓发表于 2013年10月21日 16:54[回复]

    用的是wordpress程序,基于php语言。

用户评论头像 灵异事件发表于 2013年10月17日 15:01[回复]

好博客!赞一个!

用户评论头像 景德镇论坛发表于 2013年10月14日 19:03[回复]

SOCKET编程,让我想起了马士兵老师

用户评论头像 汉成华都业主发表于 2013年10月09日 14:12[回复]

又遇见一个玩Java的孩子 😆

发表评论

change vcode