try

Java网络编程Socket通信

三世轮回 提交于 2020-01-28 10:43:02
TCP(Transmission Control Protocol 传输控制协议 )是一种面向连接的、可靠的、基于字节流的传输层通信协议 UDP (User Datagram Protocol 用户数据报协议)是OSI(Open System Interconnection开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务 TCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TCP保证数据顺序,UDP不保证 一、Tcp协议通信 1、Server服务器端: a、创建ServerSocket对象,同时绑定监听端口 b、通过accept()方法监听客户端的请求 c、建立连接后,通过输入流读取客户端发送的请求信息 d、通过输出流向客户端发送响应信息 e、关闭相应资源 package com.yyx.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import

php try catch throw 用法

浪子不回头ぞ 提交于 2020-01-28 09:41:54
1.try catch 捕捉不到fatal error致命错误 2.只有抛出异常才能被截获,如果异常抛出了却没有被捕捉到,就会产生一个fatal error 3.父类可以捕获子类抛出的异常 class ExceptionNew extends Exception{ } function try_throw($type) { if ($type == 1) { throw new ExceptionNew("sunyue"); } } try { try_throw(1); } catch (Exception $e) { echo $e->getMessage(); } 4.try中的代码一旦抛出异常,代码将停止运行,直接执行catch中的代码 5.多个catch捕获多个异常 PHP将查询一个匹配的catch代码块。如果有多个catch代码块,传递给每一个catch代码块的对象必须具有不同类型(或者可以用同一父类去捕获,这样只要一个catch就可以了),这样PHP可以找到需要进入哪一个catch代码块。当try代码块不再抛出异常或者找不到catch能匹配所抛出的异常时,PHP代码就会在跳转最后一个catch的后面继续执行。因为原则4,所以每次其实这能抛出一个异常,一个异常被捕获。 class ExceptionNew extends Exception{ } class

java7新特性

痴心易碎 提交于 2020-01-28 08:15:36
作者:我没有三颗心脏 链接:https://www.jianshu.com/p/6bc2e4c82f6b 来源:简书 1.Diamond Operator 类型判断是一个人特殊的烦恼,入下面的代码: Map<String,List<String>> anagrams = new HashMap<String,List<String>>(); 通过类型推断后变成: Map<String,List<String>> anagrams = new HashMap<>(); 注:这个<>被叫做diamond(钻石)运算符,Java 7后这个运算符从引用的声明中推断类型。 2.在switch语句中使用字符串 switch语句可以使用原始类型或枚举类型。Java引入了另一种类型,我们可以在switch语句中使用:字符串类型。 说我们有一个根据其地位来处理贸易的要求。直到现在,我们使用if-其他语句来完成这个任务。 private voidprocessTrade(Trade t){ String status = t.getStatus(); if(status.equalsIgnoreCase(NEW)) { newTrade(t); } else if(status.equalsIgnoreCase(EXECUTE)) { executeTrade(t); } else if(status

Nmap脚本引擎原理

我与影子孤独终老i 提交于 2020-01-28 04:23:53
Nmap脚本引擎原理 一、NSE介绍    虽然Nmap内嵌的服务于版本探测已足够强大,但是在某些情况下我们需要多伦次的交互才能够探测到服务器的信息,这时候就需要自己编写NSE插件实现这个功能。NSE插件能够完成网络发现、复杂版本探测、脆弱性探测、简单漏洞利用等功能。   转载请注明出处: http://www.cnblogs.com/liun1994/   在文章 " Nmap脚本文件分析(AMQP协议为例) " 中会将 版本探测 , NSE脚本原理 联系起来,具体分析Nmap探测的执行过程。   在文章 " 编写自己的NSE脚本" 中将以一个简单的例子说明NSE的编写。 脚本扫描通过选项被激活 -sC: 使通用scripts生效 --script: 指定自己的脚本文件 --script-trace: 查看脚本执行过程 -A: 同时进行版本探测和脚本扫描 为了不进行主机发现也不进行端口扫描,直接使用自定义的脚本探测。可以使用下面的选项: -Pn -sn --script --script-args和--script-args-file,指定脚本要读入的参数nmap --script snmp-sysdescr --script-args snmpcommunity=admin example.comnmap --script default,safe

HttpClient详细解释

泪湿孤枕 提交于 2020-01-28 00:58:03
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入。 org.apache.commons.httpclient.HttpClient与org.apache.http.client.HttpClient的区别 Commons的HttpClient项目现在是生命的尽头,不再被开发, 已被Apache HttpComponents项目HttpClient和的HttpCore 模组取代,提供更好的性能和更大的灵活性。 一、简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。 下载地址: http://hc.apache.org

动手动脑2

穿精又带淫゛_ 提交于 2020-01-28 00:35:28
  ---恢复内容开始--- 1.请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识。 import javax.swing.*; class AboutException { public static void main(String[] a) { int i=1, j=0, k; k=i/j; try { k = i/j; // Causes division-by-zero exception //throw new Exception("Hello.Exception!"); } catch ( ArithmeticException e) { System.out.println("被0除. "+ e.getMessage()); } catch (Exception e) { if (e instanceof ArithmeticException) System.out.println("被0除"); else { System.out.println(e.getMessage()); } } finally { JOptionPane.showConfirmDialog(null,"OK"); } } } 运行结果 Java中实现异常处理的基础知识: Java中的异常捕获语句 Try{ /

VS连接Sql Server方法

若如初见. 提交于 2020-01-28 00:19:28
1.VS中:工具-->连接到数据库-->填写服务器名、用户名密码、数据库名等-->点击高级,拉倒最下方可看到连接字符串。 2.复制该字符串,复制到web.config文件中。 3.建一个类,代码如下: 1 public class SqlDB 2 3 { 4 5 protected SqlConnection conn; 6 7 //打开连接 8 9 public bool OpenConnection() 10 11 { 12 13 conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); 14 15 try 16 17 { 18 19 bool result = true; 20 21 if (conn.State.ToString() != "Open") 22 23 { 24 25 conn.Open(); 26 27 } 28 29 return result; 30 31 } 32 33 catch (SqlException ex) 34 35 { 36 37 return false; 38 39 } 40 41 } 42 43 //关闭连接 44 45 public bool CloseConnection() 46

Lock wait timeout exceeded; try restarting transaction(mysql事务锁)

半世苍凉 提交于 2020-01-27 14:48:23
现场环境客户要求删数据(界面没法直接操作),于是直接在数据库进行查询删除了,删完发现界面依然能查到删除后的数据,又用sql语句进行删除,发现报了错:Lock wait timeout exceeded; try restarting transaction(锁等待超时)。上网查了一波发现是删除后没有提交事务造成的(当前事务在等待其它事务释放锁资源造成的)。所以在此纪录下解决方法: 方法一:在mysql查询中执行以下指令 select * from information_schema.innodb_trx ,会查询到正在运行的事务 kill trx_mysql_thread_id ,然后在查询中kill掉就行 方法二:修改配置文件(没尝试) innodb_lock_wait_timeout 锁定等待时间改大 my.ini文件: #innodb_lock_wait_timeout = 50 修改为 innodb_lock_wait_timeout = 500 来源: https://www.cnblogs.com/wjup/p/11041282.html

异常

泪湿孤枕 提交于 2020-01-27 13:09:25
异常机制   处理程序中 无法预知的错误 保证程序的正常运行   1.try - except     首先抛出格式 try:可能会产生异常的代码           except Exception :出现异常后需要运行的代码     Exception 是异常类 这个参数可以为自定义异常类 也可以为系统提供的异常类 在不知道需要写什么时,通常写为BaseException这是异常类的老父亲 所有的自定义异常类(包括自定义类)都继承了它。这样写异常出现后程序并不会中断但是我们也无法得知究竟是出了什么错,毕竟我们的目的是准确的得知错误,并改正它。所以我们可以写作 except Exception as e :print(e) 这样的话 通过打印我们可以大概获取错误信息   2.try - except - else    try: 可能出现异常的代码 except Exception as e: print(s) 当try中出错时需要执行的代码 else: 当try中没报错时需要执行的代码   举个简单的例子 当需要用户输入一个int类型的数 ,当输入不符合条件时 ,继续输入 直到输入符合,以上格式外面嵌套一个while Ture ,else中放置一个break 这样仅当try中没有产生异常时才会跳出循环 。 3.try - except - finally try: pass

Android网络连接之HttpURLConnection和HttpClient

只谈情不闲聊 提交于 2020-01-27 04:50:41
1.概念 HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能:HttpURLConnection。但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。 除此之外,在 Android中, androidSDK中集成了 Apache的 HttpClient模块,用来提供高效的、最新的、功能丰富的支持 HTTP 协议工具包,并且它支持 HTTP 协议最新的版本和建议。使用 HttpClient可以快速开发出功能强大的 Http程序。 2.区别 HttpClient是个很不错的开源框架,封装了访问http的请求头,参数,内容体,响应等等, HttpURLConnection是java的标准类,什么都没封装,用起来太原始,不方便,比如 重访问的自定义 ,以及一些高级功能等。 URLConnection HTTPClient Proxies and SOCKS Full support in Netscape browser, appletviewer, and applications (SOCKS: Version 4 only); no additional limitations from