Socket 参数笔记
//服务端
@RunWith(JUnit4.class)
public class ServerSocketTest {
@Test
public void testServer() throws IOException{
ServerSocket serverSocket = new ServerSocket(8000);
while(true){
//一旦连接,返回的socket包含客户端信息的socket
Socket socket = serverSocket.accept();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bw.write("host:"+socket.getInetAddress()+":"+socket.getPort()+"建立链接");
bw.flush();
bw.close();
}
}
}
/**
*
* @author lzw
* 客户端
*/
@RunWith(JUnit4.class)
public class SocketClient {
@Test
public void testClient() throws UnknownHostException, IOException{
String serverMsg = null;
//表示连接到服务器的 地址以及端口
SocketAddress address = new InetSocketAddress("19.95.103.112",8000);
Socket socket = new Socket();
//connectionTime 使用最小时间建立连接,latency 表示最小延迟 bandwidth 表示最高宽带
//三个参数根据任意整数来决定优先级,越大整数,优先级越高
socket.setPerformancePreferences(2, 1, 3);
//设置服务类型,用来描述服务的质量 0x02 低成本 0x04 高可靠性 0x08 最高吞吐量 0x10 最小延迟,还可以组合使用
// socket.setTrafficClass(0x02);
//标识是否紧急数据,false接收方不作处理,直接丢弃,true,接收方正常处理,除非有更高及的协议设置,否则效果不大,接收方不会判断是否紧急数据
// socket.setOOBInline(true);
//为ture时会监控连接是否活动,两个小时内没有交互,再等待12分钟,如果还是没有交互,那么会关联socket,false表示永远存在,哪怕服务器已经挂了
// socket.setKeepAlive(true);
//设置输入数据缓冲区大小,设置大了减少交互次数,对于网络游戏对数据即时性要求高的,应该设置更小的值
// socket.setReceiveBufferSize(0);
//设置写出缓冲区大小,同理setReceiveBufferSize
// socket.setSendBufferSize(0);
//必须在读取输入流之前设置,表示等待输入流数据超时时间。默认是0,无限等待
// socket.setSoTimeout(1000);
//发送方socket被调用close之后,是否延迟关闭,继续发送数据。等待时间超时才关闭。
// socket.setSoLinger(true, 30);
//当接收方socket被关闭的时候不会马上释放端口,而是接收完数据以后才释放,为了不让正在发送的数据,被下一个绑定到刚释放的端口上的SOCKET获取到,此方法必须在绑定端口之前设定,否则无效
// socket.setReuseAddress(true);
//是否使用Negale算法,false为使用,true为不是用。
// socket.setTcpNoDelay(true);
//连接等待1分钟,如果为0,那么将永远不超时
socket.connect(address,60000);//连接
System.out.println("localPort"+socket.getLocalPort());
System.out.println("port:"+socket);
InputStream inputStream = socket.getInputStream();
//读取服务端返回的数据
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
if((serverMsg = br.readLine())!=null){
System.out.println("服务器:"+serverMsg);
}
br.close();
}
}
Socket 参数笔记的更多相关文章
- Python Socket API 笔记
将上节中的C#该成Python版的容易程度大大超出了我的意料之外.从来没有发现,仅仅用灰尘简单的几句话就实现了该程序的主要功能,可见python的简易和强大之处.这里先对SocketAPI 做一下总结 ...
- Linux内核 TCP/IP、Socket参数调优
Linux内核 TCP/IP.Socket参数调优 2014-06-06 Harrison.... 阅 9611 转 165 转藏到我的图书馆 微信分享: Doc1: /proc/sy ...
- C# Socket编程笔记(转)
C# Socket编程笔记 http://www.cnblogs.com/stg609/archive/2008/11/15/1333889.html TCP Socket:Server 端连接步骤: ...
- Monkey相关参数 笔记
Monkey相关参数 笔记 Monkey是Android系统自带的一个命令行工具,可运行在模拟器里或实际设备中. Monkey可以向被测试的应用程序发送伪随机的用户事件流(如按键.触屏.手势等),实 ...
- socket参数的详解
socket参数的详解 socket.socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None) 创建socket对象的参数说明: fami ...
- MVC OF UEditor 图片上传- 额外参数 笔记
最近正巧需要用到UEditor ,因为需求,.需要把上传的图片数据上传到阿里云的OSS与记录图片相关信息到MS SQL中 . 不得已只能翻UEditor的实现代码>_<痛苦. 备忘笔记: ...
- Java Socket 学习笔记
TCP协议的Socket编程 Socket:英文中的意思是插座.两个Java应用程序可以通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个Socket.Java中所有关于网络编程的类都 ...
- C# Socket学习笔记二
小记:昨天咱们已经了解了Socket的通信原理,可是点对点的一次通信并不是我们想要的,那么今天那我们就继续学习异步通信,简单来说就是服务器端和客户端可以进行多次 互发信息的通信而不用担心通道会关闭.在 ...
- C# Socket学习笔记一
小记:刚接触网络编程觉得网络是个神奇的东西,所以对它就很有兴趣,想了解下网络是如何进行进行数据传输的,那么开始第一天的学习吧!ReadyGo!!! 首先我们要了解一下几点内容: 1.网络中进程之间如何 ...
随机推荐
- OkHttp自定义重试次数
本文主要应用了OkHttp的Interceptor来实现自定义重试次数 虽然OkHttp自带retryOnConnectionFailure(true)方法可以实现重试,但是不支持自定义重试次数,所以 ...
- Div+Css画太极图源代码
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>D ...
- auto和bool
一.auto' 1.只要在函数内部定义变量,默认是auto int num 等价于 auto int num = 10; 2.C语言中的auto关键字就是自动分配自动释放 二.bool类型 1.头文 ...
- [DeeplearningAI笔记]神经网络与深度学习人工智能行业大师访谈
觉得有用的话,欢迎一起讨论相互学习~Follow Me 吴恩达采访Geoffrey Hinton NG:前几十年,你就已经发明了这么多神经网络和深度学习相关的概念,我其实很好奇,在这么多你发明的东西中 ...
- JAVA 调用 R 语言之升华篇
由于项目的需要,最近做了一个javaWeb调用R的组件,在这里,我把自己走的一些弯路给大家总结一下: 一.选取什么插件作为java和R之间的通信? 1. 在传统的方式中,大致可以分为两类:一类是JRI ...
- HttpURLConnection用法
在SDK中的URLConnection链接Servlet的问题 1.URL的请求分类GET和POST GET请求可以获取页面静态的值,参数放URL后,传给Serverlct POST的参数是存放于ht ...
- bzoj 4873: [Shoi2017]寿司餐厅 [最小割]
4873: [Shoi2017]寿司餐厅 题意:略 唯一会做的... 一眼最小割 就是最大权闭合子图呀 \(s\rightarrow d_{positive} \rightarrow -d_{negt ...
- CF 375D. Tree and Queries加强版!!!【dfs序分块 大小分类讨论】
传送门 题意: 一棵树,询问一个子树内出现次数$\ge k$的颜色有几种,Candy?这个沙茶自带强制在线 吐槽: 本来一道可以离散的莫队我非要强制在线用分块做:上午就开始写了然后发现思路错了...: ...
- gradle一个已删除的项目找不到
排查了已有模块未果,到.idea目录中找到了gradle.xml文件,发现其中externalProjectPath指向的正是报错的那个已删除项目,改之,刷gradle,解决.
- Windows Server 2016-图形化迁移FSMO角色
上章节我们简单介绍了三种不同方式查看FSMO主机角色信息,在开篇之前我们简单回顾一下FSMO五种操作主机角色:林范围操作主机角色有两种,分别是 架构主机角色(Schema Master)和 域命名主机 ...