- 博客(7)
- 资源 (75)
- 收藏
- 关注
原创 Tcp通信中服务器处理客户端意外断开!
所谓意外断开,是客户端(多指支持3G的移动设备)指并没有关闭socket,双方并未按照协议上的四次挥手去断开连接,一般的处理办法都是利用保活机制。而保活机制分又可以让底层实现也可自己实现。 一、双方拟定心跳(自实现) 一般由客户端发送心跳包,服务端并不回应心跳,只是定时轮询判断一下与上次的时间间隔是否超时(超时时间自己设定)。服务器并不主动发送是不想增添服务器的通信量,减少压力。 但这会出现
2013-10-23 09:21:51 30639 2
原创 几种Socket服务器模型比较!
一、异步BeginXXX,EndXXX 先看其实现的方式: 1.监听 //开启监听线程 public void StartListenThread() { Thread listen_thread = new Thread(new ThreadStart(ListenThread)); listen_thr
2013-10-22 17:36:48 19290
原创 利用Log4Net将日志插入至oracle数据库!
log4net可以轻易的将信息日志写入文本,但是无论记录在哪里终究还是为了后期发现问题,维护所用。所以为了查询方便,可以将其配置输出至数据库(oracle)。 一、插入系统默认字段 首先建库,sql如下: -- Create table create table SYSTEMLOG ( log_id NUMBER not null, log_date DA
2013-10-22 15:07:25 4662 1
原创 javascript中伪哈希表的简单实现!
function HashTable(){ this.add=Carinfo_hashAdd; this.del=Carinfo_hashDel; this.getValue=Carinfo_hashgetVal; this.containsKey=Carinfo_hashifKey; this.size=Carinfo_hashgetL
2013-10-11 16:51:55 1046
原创 java中线程的基本操作!
java中建立线程可以有两种方式,分别是继承Thread类和实现Runnable接口. 1.继承Thread public class MyThread extends Thread{ public MyThread(String name){ super(name); } int i; public void run(){ for(i=0;i<5;i++){
2013-10-11 16:44:23 2140
原创 java中序列化与反序列化对象的简单操作!
序列化分为两个步骤: 1.建立ObjectOutputStream输出流对象,该对象需要建立在一个文件输出流上,如FileOutputStream。 2..利用该对象的writeobject(object obj)方法即可将序列化后的对象写入文件。 //序列化的对象需要实现serializable接口,但是不用实现任何方法 public class MyClass implement
2013-10-09 15:23:29 1203
原创 Log4Net基本用法!
1.准备工具 log4net.dll,log4net.xml,log4net.config 2.在项目里的AssembleInfo.cs文件的最后一行加入 [assembly: log4net.Config.DOMConfigurator(ConfigFile = "log4net.config", Watch = true)] 3.修改log4net.c
2013-10-08 17:20:44 1203
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人