服务器和客户端Socket单向通信例子
看了两天socket通信,也参考了网上其他人是怎么写的。
下面我把最简单的socket例程贴出来
server代码:
public class Server {private static int port = 8888; private static ServerSocket serverSocket; private static Socket socket;public static void main(String args[]) throws IOException { serverSocket = new ServerSocket(port, 2); socket = serverSocket.accept(); System.out.println("客户端已链接"); DataInputStream dis = new DataInputStream(socket.getInputStream()); DataOutputStream dos = new DataOutputStream(socket.getOutputStream());dos.writeUTF("来自服务器的消息");while (true){ /*//读取客户端发送的信息String str = dis.readUTF();System.out.println("From 客户端:"+str);if(str.equals("bye")){ socket.close(); serverSocket.close(); break; } */// 发送键盘输入的一行 String s = new BufferedReader(new InputStreamReader(System.in)).readLine(); dos.writeUTF(s);} } }
Client代码:
public class Client {private static int port = 8888; private static String host = "localhost"; private static Socket socket; public static void main(String args[]) throws UnknownHostException, IOException { socket = new Socket(host, port); DataInputStream dis = new DataInputStream(socket.getInputStream()); DataOutputStream dos = new DataOutputStream(socket.getOutputStream());dos.writeUTF("来自客户端的消息");while(true){ //读取服务器发送的信息String str = dis.readUTF();System.out.println("From 服务器:"+str);if(str.equals("bye")){ socket.close(); System.out.println("关闭socket"); break; } // 发送键盘输入的一行 //String s = new BufferedReader(new InputStreamReader(System.in)).readLine(); //dos.writeUTF(s); } } }
因为readLine()是一个阻塞函数,接收不到消息会阻塞在那里。如果把两个文件中的注释去掉后,服务器和客户端必须你一句我一句,才能正常通信。目前还没有解决办法。所以,先实现单向通信:server发送数据,client接收数据。
转载于:https://www.cnblogs.com/liushao/p/6378778.html
服务器和客户端Socket单向通信例子相关推荐
- TCP服务器和客户端的链接例子(侧重点在注意关闭套接子,减少套接子的描述子)
TCP服务器和客户端的链接例子(侧重点在注意关闭套接子,减少套接子的描述子) 每个文件或套接口都有一个访问计数,该访问计数在文件表项中维护,它表示当前指向该文件或套接口的打开的描述字个数. 每个文件, ...
- 修改客户端 与服务器断开,如何处理服务器或客户端socket断开
<如何处理服务器或客户端socket断开>由会员分享,可在线阅读,更多相关<如何处理服务器或客户端socket断开(10页珍藏版)>请在人人文库网上搜索. 1.编程经验谈 如何 ...
- 一个 Java 的 Socket 服务器和客户端通信的例子
http://blog.csdn.net/defonds/article/details/7971259 多个客户端对应一个服务端的通信的一个小例子. 服务端和客户端代码: public class ...
- 一段最简单的使用socket.io进行服务器和客户端通信的例子代码
服务器端代码: var app = require('express')(); var server = require('http').Server(app); var io = require(' ...
- epoll ET模式服务器和客户端源码例子
关于epoll替代select作为高性能服务器的事件通知机制的资料相当多,我就不在这里班门弄斧了,有兴趣的同学可以参考末尾的文献链接. 这里说明如下: 1.epoll是linux下高并发服务器的完美方 ...
- 服务器端和客户端互发消息,Socket编程实现简单的服务器与客户端互发消息
socket编程的大致步骤如下: 1.创建服务器端SocketServer,并定义SocketServer的监听端口; 2.ServerSocket调用accept( )方法,是指处于阻塞: 3.创建 ...
- socket和threading的智能问答机器人服务器与客户端(python)
智能问答机器人服务器与客户端 socket用于根据指定的地址族.数据类型和协议来分配一个套接口的描述字及其所用的资源. 服务端套接字函数 server.bind() 绑定(主机,端口号)到套接字 se ...
- Java Socket简单例子、readLine()、readUTF()
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51752701 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...
- php运行socket服务器,PHP_php简单socket服务器客户端代码实例,本篇文章分享一个简单的socket - phpStudy...
php简单socket服务器客户端代码实例 本篇文章分享一个简单的socket示例,用php.实现一个接收输入字符串,处理并返回这个字符串到客户端的TCP服务. 产生一个 socket 服务端 /*文 ...
最新文章
- Visual Studio 2013 Update 2 and with Update 2
- Visual Studio 2010 第一时间体验旗舰版
- 运维基础(8)shell脚本
- COND SWITCH 操作符
- springboot扫描组件_springboot多模块包扫描问题的解决方法
- GaussDB(DWS)发生数据倾斜不要慌,一文教你轻松获取表倾斜率
- Web测试和App测试区别
- 淘宝店铺所有商品API接口(店铺所有商品列表接口)
- iostream头文件简单理解
- MATLAB机器人运动学与动力学(自己学习用)
- 计算机的硬盘和光驱的接口是什么类型的接口,连接硬盘和光驱是什么接口
- 学习笔记(13):MATLAB基础入门课程-kron函数
- 【笔记】用Python写百度翻译网络爬虫
- Chromium源码解读--net目录结构
- MTK MT8735射频设计资料参考
- (13)web安全|渗透测试|网络安全 注入/跨库查询/文件读写/常见的防护原理 详细图解
- Appium 自动化测试 手机操作
- sysvinit源码分析 Linux-init-process-analyse
- fails sanity check错误的解决方法
- 智慧工地管理系统在建筑行业中的应用
热门文章
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序使用高级功能...
- .NET_.NET 部署问题
- 风格之争:Coroutine vs Callback
- 剑指offer刷题感想
- 图的深度优先搜索遍历
- Python最大公约数gcd、最小公倍数lcm
- 7.1 pdo 宝塔面板php_宝塔面板PHP7.2 安装mcrypt扩展
- SAP License:统计型实际结算型内部订单
- SAP License:求职最受欢迎的十大技能
- 设计方案--如何设计移动端高清方案