//服务端
@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 参数笔记的更多相关文章

  1. Python Socket API 笔记

    将上节中的C#该成Python版的容易程度大大超出了我的意料之外.从来没有发现,仅仅用灰尘简单的几句话就实现了该程序的主要功能,可见python的简易和强大之处.这里先对SocketAPI 做一下总结 ...

  2. Linux内核 TCP/IP、Socket参数调优

    Linux内核 TCP/IP.Socket参数调优 2014-06-06  Harrison....   阅 9611  转 165 转藏到我的图书馆   微信分享:   Doc1: /proc/sy ...

  3. C# Socket编程笔记(转)

    C# Socket编程笔记 http://www.cnblogs.com/stg609/archive/2008/11/15/1333889.html TCP Socket:Server 端连接步骤: ...

  4. Monkey相关参数 笔记

    Monkey相关参数  笔记 Monkey是Android系统自带的一个命令行工具,可运行在模拟器里或实际设备中. Monkey可以向被测试的应用程序发送伪随机的用户事件流(如按键.触屏.手势等),实 ...

  5. socket参数的详解

    socket参数的详解 socket.socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None) 创建socket对象的参数说明: fami ...

  6. MVC OF UEditor 图片上传- 额外参数 笔记

    最近正巧需要用到UEditor ,因为需求,.需要把上传的图片数据上传到阿里云的OSS与记录图片相关信息到MS SQL中 . 不得已只能翻UEditor的实现代码>_<痛苦. 备忘笔记: ...

  7. Java Socket 学习笔记

    TCP协议的Socket编程 Socket:英文中的意思是插座.两个Java应用程序可以通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个Socket.Java中所有关于网络编程的类都 ...

  8. C# Socket学习笔记二

    小记:昨天咱们已经了解了Socket的通信原理,可是点对点的一次通信并不是我们想要的,那么今天那我们就继续学习异步通信,简单来说就是服务器端和客户端可以进行多次 互发信息的通信而不用担心通道会关闭.在 ...

  9. C# Socket学习笔记一

    小记:刚接触网络编程觉得网络是个神奇的东西,所以对它就很有兴趣,想了解下网络是如何进行进行数据传输的,那么开始第一天的学习吧!ReadyGo!!! 首先我们要了解一下几点内容: 1.网络中进程之间如何 ...

随机推荐

  1. springmvc配置文件配置的事务作用范围

    作用于service,不是controller,也不是mapper.所以,要保证原子性,就放在一个serviceimpl里,而不要放在一个controller 里 第一次与数据库打交道时,事务开启,s ...

  2. OkHttp实现全局过期token自动刷新

    #遇到问题: 当前开发的 App 遇到一个问题: 当请求某个接口时,由于 token 已经失效,所以接口会报错.但是产品经理希望 app 能够马上刷新 token ,然后重复请求刚才那个接口,这个过程 ...

  3. TCP/IP详解 卷1 第二十一章 TCP的超时与重传

    21.1 引言 可靠性的保证之一就是超时重传 前面两个超时重传的例子 1)  ICMP端口不能到达时,TFTP客户使用UDP实现了一个简单的超时和重传机制,假定5s是一个适当是时间间隔,并每隔5s进行 ...

  4. sed运用

    流编辑器sed sed简介 sed是stream editor的缩写,一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern ...

  5. VUE-脚手架搭建

    1.什么vue-cli    vue-cli是vue.js的脚手架,用于自动生成vue.js工程模板的. 步骤: 2.安装   ->全局安装   npm install vue-cli -g 或 ...

  6. js实现文本框输入文字个数限制代码

    html: <div class="curr_eval_box">                <input type="hidden" n ...

  7. 4.ES核心慨念

    一. 和lucene的关系 lucene是最先进,功能最强大的搜索库.但是使用复杂(要深入理解其中原理. elasticsearch,基于lucene,隐藏复杂性,提供简单易用的restful api ...

  8. 浅谈OSI七层模型及ICP/IP四层模型

    1.OSI七层模型的概念 在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型. 一台计算机操作系统中的网络过程包括从应用请求(在协议栈 ...

  9. Linux CentOS 7 下 JDK 1.7 安装与配置

    前言 简单记录一下在CentOS 7中安装配置JDK 1.7的全过程~ 下载 首先是jdk 1.7 64bit & 32bit的下载地址: jdk-7u79-linux-x64.tar.gz  ...

  10. python监控接口请求

    #!/usr/bin/env python #coding=utf8 import time,os,sched,urllib,httplib import smtplib import string ...