Socket对象以及异常
1 socket构造器:
public Socket() | 创建一个Socket套接字 |
public Socket(InetAddress address,int port) | 创建一个指定IP和端口的套接字 |
Socket(InetAddress address, int port, InetAddress localAddr, int localPort) | 创建一个指定IP和端口的套接字;并将其和指定的远程端口连接起来 |
Socket(Proxy proxy) | 创建一个指定代理的套接字 |
Socket(SocketImpl impl) | 创建一个用户指定的套接字 |
Socket(String host, int port) | 创建一个IP和端口的套接字 |
Socket(String host, int port, InetAddress localAddr, int localPort) |
package com.asiaInfo.caozg.ch_01; import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress; /**
* @Authgor: gosaint
* @Description:
* @Date Created in 14:55 2018/1/13
* @Modified By:socket相关的构造方法
*/
public class SocketContructor {
public static void main(String[] args) throws IOException{
Socket socket=new Socket();
// 设置连接的端口和ip
SocketAddress address=new InetSocketAddress("localhost",8000);
// 连接指定的socketAddress,并且设置超时时间
socket.connect(address,60000);
}
}

package com.asiaInfo.caozg.ch_01; import java.io.IOException;
import java.net.*; /**
* @Authgor: gosaint
* @Description:
* @Date Created in 15:09 2018/1/13
* @Modified By:socket的常见异常
*/
public class IOExceptionSocket {
public static void main(String[] args) {
String host="localhost";
int port=25;
// 如果数组的长度大于1,那么将第一个元素赋值给host,第二个元素赋值给port
if(args.length>1){
host=args[0];
port=Integer.parseInt(args[1]);
}
System.out.println("==========");
new IOExceptionSocket().connect(host,port);
} private void connect(String host, int port) {
//根据传递的host和port构建连接的地址
SocketAddress address=new InetSocketAddress(host,port);
Socket socket=null;
String result="";
try {
long begin=System.currentTimeMillis();//开始连接时间
socket=new Socket();
socket.connect(address,20000);
long end=System.currentTimeMillis();//结束时间
result=(end-begin)+"ms";
}catch (BindException e){
result="本地地址和端口绑定异常";
}catch (UnknownHostException e){
result="不知道的端口异常";
}catch (ConnectException e){
result="连接异常";
}catch (SocketTimeoutException e){
result="连接超时异常";
}catch (IOException e){
result="IO异常";
}finally {
try {
if(socket!=null)socket.close();
}catch (IOException e){
e.printStackTrace();
}
}
System.out.println(address+":"+result);
}
}
Socket对象以及异常的更多相关文章
- socket对象放在一个datagridview的row的tag里面在拿出来 为什么是已释放
socket对象放在一个datagridview的row的tag里面在拿出来 为什么是已释放
- 【C/C++学院】0831-类与对象的异常/面试100题1-100
类与对象的异常 Cpp异常 #include <iostream> #include <string.h> using namespace std; //标识错误的类型 cla ...
- TCP/IP以及Socket对象基本
1 OSI七层模型概念介绍 物理层:数据以比特的方式进行传递,典型的设备是集线器.该层主要规定了设备的电压或者端口等等一些列物理层面上的规定 数据链路层:该层数据以帧的方式进行传递,主要是两个 ...
- socket编程报异常java.io.EOFException
一个客户端连接服务器的小程序,服务器端可以正常读取客户端发来的数据 但是当客户端关闭时,服务端也关闭了,并且抛出如下的异常: java.io.EOFException at java.io.DataI ...
- pythond对象、异常、反射的学习笔记
python多继承,刚开始我是表示惊讶的,毕竟学的php,哪来的多继承?顶多也就是利用接口模拟多继承后者使用反射机制实现.那么还是来看看python的强大吧 1 首先,Python的类继承了多个类,那 ...
- Socket中的异常和参数设置
1.常见异常 1.java.net.SocketTimeoutException . 这个异 常比较常见,socket 超时.一般有 2 个地方会抛出这个,一个是 connect 的 时 候 , 这 ...
- JavaScript Date 对象的异常现象-new Date('0001-01-01 00:00:00')
Date 对象 Date 对象用于处理日期和时间. new Date() :Date 对象会自动把当前日期和时间保存为其初始值. 打开chrome的开发者工具,在Console敲下new Date() ...
- socket的几大异常以及其出现的原因
1:我是模拟了一个客户端不断的向服务器发送消息,但是当某一时刻我把服务端断掉,客户端就出现了写异常 java.net.SocketException: Connection reset by peer ...
- C++异常 将对象用作异常类型
通常,引发异常的函数将传递一个对象.这样做的重要有点之一是,可以使用不同的异常类型来区分不同的函数在不同情况下引发的异常.另外,对象可以携带信息,程序员可以根据这些信息来确定引发异常的原因.同时,ca ...
随机推荐
- Kindeditor 编辑区样式结构
ke-container ke-toolbar ke-edit ke-edit-iframe ke-edit-area ke-statusbar
- ZOJ - 3761 Easy billiards 【并查集+DFS】
题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3761 题意 在一个桌面上,给出一些球 如果在A球的某个方向的前方 ...
- 什么是gitlab CI ?CI代表什么?
CI是Continuous Integration的简称,就是持续集成的意思. 就是说你代码改动了,测试了,提交了,持续集成系统会自动构建(编译等等).持续集成的理念是每个提交的版本都应该是可交付的, ...
- day 5 模块导入、常用模块os shutil sys commands subprocess hashlib json pickle zipfile traceback random datetime
os: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os. ...
- 算法(Algorithms)第4版 练习 1.3.37
package com.qiusongde.creative; import com.qiusongde.Queue; import edu.princeton.cs.algs4.StdOut; pu ...
- JS中不同类型的值比较问题
我们比较数据的时候大多是以下两种情况: 3 > 4 ; "m" > "n" ; 但有时候可能会出现比较符号两侧的数据类型不相同的场景,例如 5 &g ...
- JAVA NIO之浅谈内存映射文件原理与DirectMemory
JAVA类库中的NIO包相对于IO 包来说有一个新功能是内存映射文件,日常编程中并不是经常用到,但是在处理大文件时是比较理想的提高效率的手段.本文我主要想结合操作系统中(OS)相关方面的知识介绍一下原 ...
- 一款实现滑动切换效果的插件---swiper
Swiper是纯javascript打造的滑动特效插件,面向手机.平板电脑等移动终端. Swiper能实现触屏焦点图.触屏Tab切换.触屏多图切换等常用效果. Swiper开源.免费.稳定.使用简单. ...
- JavaScript常用函数以及语法
$("#dwid").val(checkedVal.join(',')); .字符串(String) trim() //去掉空格 1.声明 var myString ...
- Python基础-读取excel
import xlrdbook = xlrd.open_workbook('lanxia.xls')sheet = book.sheet_by_name('sheet1')rows = sheet.n ...