socket 简单了解
//客户端
public class Client { public static void main(String[] args) throws Exception {
// 要连接的ip和端口,并监听ip和端口 两个端口需一样
Socket sk = new Socket("192.168.60.1", 49154);
// 建立连接后获得输入流
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(sk.getOutputStream()));
String line;
// 循环给line添加值
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
bw.flush();
InputStream is = sk.getInputStream();
byte[] by = new byte[1024];
int num = is.read(by);
// by一口气传输多少字节 0 num 等于有多少字节
String h = new String(by, 0, num);
}
br.close();
bw.close();
sk.close(); }
//服务端
public class Server {
public static void main(String[] args) throws Exception {
// 监听指定的端口 端口号最好从49152到65535之间
ServerSocket sk = new ServerSocket(49154);
// sk将一直等待连接的到来
Socket s = sk.accept();
// 建立好连接后,从Socket中获取输入流,并建立缓冲区进行读取
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedReader bw = new BufferedReader(new InputStreamReader(System.in));
// line 等于客户端添加的内容 如果不添加会一直在 Socket s = sk.accept()等待到来
String line;
while ((line = br.readLine()) != null) {
System.out.println("服务端 \t" + line);
}
// 释放资源
s.close();
sk.close(); /*
* BufferedReader的readLine()方法是阻塞式的, 如果到达流末尾, 就返回null,
* 但如果client的socket末经关闭就销毁, 则会产生IO异常.
* 正常的方法就是使用socket.close()关闭不需要的socket.
*/ }
socket 简单了解的更多相关文章
- .NET 跨平台RPC框架DotNettyRPC Web后台快速开发框架(.NET Core) EasyWcf------无需配置,无需引用,动态绑定,轻松使用 C# .NET 0配置使用Wcf(半成品) C# .NET Socket 简单实用框架 C# .NET 0命令行安装Windows服务程序
.NET 跨平台RPC框架DotNettyRPC DotNettyRPC 1.简介 DotNettyRPC是一个基于DotNetty的跨平台RPC框架,支持.NET45以及.NET Standar ...
- Python网络编程02 /基于TCP、UDP协议的socket简单的通信、字符串转bytes类型
Python网络编程02 /基于TCP.UDP协议的socket简单的通信.字符串转bytes类型 目录 Python网络编程02 /基于TCP.UDP协议的socket简单的通信.字符串转bytes ...
- C# .NET Socket 简单实用框架,socket组件封装
参考资料 https://www.cnblogs.com/coldairarrow/p/7501645.html 根据.NET Socket 简单实用框架进行了改造,这个代码对socket通信封装还是 ...
- C# Socket简单例子(服务器与客户端通信)
这个例子只是简单实现了如何使用 Socket 类实现面向连接的通信. 注意:此例子的目的只是为了说明用套接字写程序的大概思路,而不是实际项目中的使用程序.在这个例子中,实际上还有很多问题没有解决,如消 ...
- Flash Socket简单调试工具
写了一个简单的Flash Socket调试工具,可用来简单调试本地或者外部socket服务器,使用的时候注意Flash socket的安全策略问题,有问题请联系sky-wang@qq.com.
- C#的Socket简单实现消息发送
Socket一般用于网络之间的通信,在这里,实现的是服务端与客户端的简单消息通信.首先是客户端的搭建,一般步骤是先建立Socket绑定本地的IP和端口,并对远端连接进行连接进行监听,这里的监听一般开启 ...
- Java Socket 简单梳理
Sockets let you send raw streams of bytes back and forth between two computers, giving you fairly lo ...
- Python Socket 简单聊天室2
上篇文章写了一个简单的单线程的一问一答的简单聊天室.这次我们使用SocketServer模块搭建一个多线程异步的聊天室. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- Python Socket 简单聊天室1
这是第一版,最简单的,仅仅实现了通信,你收我发,我收你发而已.下篇将介绍,基于异步多线程的聊天室: 客户端: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...
- C# .NET Socket 简单实用框架
背景: 首先向各位前辈,大哥哥小姐姐问一声好~ 这是我第一次写博客,目前为一个即将步入大四的学生,上学期在一家公司实习了半年,后期发现没有动力,而且由于薪水问题(废话嘛),于是跳槽到这家新的公司. 说 ...
随机推荐
- springmvc核心技术
目录 异常处理 类型转换器 数据验证 文件上传与下载 拦截器 异常处理 Spring MVC中, 系统的DAO, Service, Controller层出现异常, 均通过throw Exceptio ...
- Freeswitch 各版本一键安装脚本 Freeswitch 快速安装 G729编解码库
最近有时间整理,写了freeswitch的一键安装包分享一下,里面带有 mysql=0 是否选择安装mysql. 其他提示:脚本里面集成了安装g729脚本,支持录音.转码的bcg729脚本. 1.下载 ...
- vue and jest测试
测试Vue的filters方法: 局部: import Page from '../src/Page' it('filter', () => { const case = Page.filter ...
- Bootstrap 完全教程笔记
Bootstrap CSS Bootstrap 排版 引导主体副本 为了给段落添加强调文本,则可以添加 class=”lead”,这将得到更大更粗.行高更高的文本,如下面实例所示: <h2> ...
- 终端的rz命令,覆盖原文件。
不覆盖:rz 覆盖 同名文件:rz -y
- spring(spring mvc)整合WebSocket案例(获取请求参数)
开发环境(最低版本):spring 4.0+java7+tomcat7.0.47+sockjs 前端页面要引入: <script src="http://cdn.jsdelivr.ne ...
- vue组件的通信
组件的引入两种方式 动态组件 <p is="com-a"></p> 直接引入 <com-a></com-a> 插槽功能 父组件引入 ...
- 第三周博客之一---Oracle基础知识
一.数据库的定义.作用介绍 1.定义:按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 2.数据库的发展历史: 2.1.在1962年数据库一词出现在系统研发的公司的技术备忘录中 2. ...
- Python语言:Day11练习题
24.实现一个整数加法计算器:如:content=input('请输入内容:')#如:5+9或5+ 9或5 + 9 content = input("请输入需要计算的:") #如: ...
- 九州动态ip的特色
九州代理是一款高覆盖的换ip软件,范围可覆盖全国160多个城市.软件可用于游戏试玩.游戏挂机.营销.优化.文档分享.管理.问答推广.数据采集.点赞.增效回访.用户注册等.“九州代理”仅提供国内网络节点 ...