摘要: 1. 无废话,先上图2. 协议文档 1 协议概述协议说明 通过本协议可以实现Client与Server之间的消息传递1.2 连接方式l Socket连接方式以TCP/IP协议建立一个长连接, Server 监听IP和Port1.3 术语表 ClientMsg Client=>Server 消息 ServerMsg Server=>Client 消息 Server 代表服务器 Client 代表客户端 IP ServerIP地址 Port 端口2 消息包的定义—Socket连接2.1 基本格式消息包由消息头和消息体共同组成。项目说明消息头消息头部分消息体消息体部分消息中利用到如下数据 阅读全文
posted @ 2011-11-17 19:59 猪特曼 阅读(616) 评论(0) 推荐(0) 编辑
摘要: socket的英文原义是“孔”或“插座”。作为4BDS UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。套接字现象解释 socket非常类似 阅读全文
posted @ 2011-11-17 19:57 猪特曼 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了。对于TCP/IP,我们还知道TCP和UDP,前者可以保证数据的正确和可靠性,后者则允许数据丢失。最后,我们还知道,在建立连接前,必须知道对方的IP地址和端口号。除此,普通的程序员就不会知道太多了,很多时候这些知识已经够用了。最多,写服务程序的时候,会使用 阅读全文
posted @ 2011-11-17 19:57 猪特曼 阅读(3387) 评论(1) 推荐(3) 编辑
摘要: Wireshark抓包分析TCP的建立与断开过程一、TCP建立连接说明:在此图中HostA充当客户端角色,HostB充当服务器角色。TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。第一次握手:建立连接时,HostA发送SYN包(SEQ=a)到HostB,并进入SYN_SEND状态,等待HostB确认。第二次握手:HostB收到SYN包后,必须确认HostA的SYN(ACK=a+1),同时自己也送一个SYN包(SEQ=b),即SYN+ACK 阅读全文
posted @ 2011-11-17 19:56 猪特曼 阅读(2496) 评论(0) 推荐(0) 编辑
摘要: //1.---------文件夹创建、移动、删除---------//创建文件夹Directory.CreateDirectory(Server.MapPath("a"));Directory.CreateDirectory(Server.MapPath("b"));Directory.CreateDirectory(Server.MapPath("c"));//移动b到aDirectory.Move(Server.MapPath("b"), Server.MapPath("a\\b"));// 阅读全文
posted @ 2011-11-02 13:05 猪特曼 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 最近才玩的jquery,感觉太强大了,但是随之而来的小问题也多了起来,昨天遇见一个问题,在项目的登陆页面放了个jquery的插件,运行起来缺弹出“缺少对象”错误,如图:我郁闷啊我崩溃啊,当然首先还是先查下路径拉,看有没其他库和jquery有冲突了,可是就奇了怪了,就一个jquery插件,一个$(function(){alert()}) 就报错,想破了脑袋也无解,只好求助百度大妈和谷歌大婶了,百度了一下才发现。。。。。。天下文章一大抄,几乎都是一篇文章,一般情况如下:1.路径不对,(这个。。。我建议还是从项目中直接拖到网页吧,省事又省心)2.还有说是智能提示错误,我编译看了下我的VS也提示警告. 阅读全文
posted @ 2011-10-25 09:10 猪特曼 阅读(1612) 评论(0) 推荐(0) 编辑
摘要: select语句中只能使用sql函数对字段进行操作(链接sql server),select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。left()是sql函数。select 字段1 from 表1 where charindex('云',字段1)=1;字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数 阅读全文
posted @ 2011-05-03 16:09 猪特曼 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 可能出现的问题: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 英文描述 id postback or ca 阅读全文
posted @ 2011-03-15 18:32 猪特曼 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。 在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承。 class A {} sealed class B : A {}还可以在重写基类中的虚方法或虚属性的方法或属性上使用 sealed 修饰符。 这将使您能够允许类从您的类继承,并防止它们重写特定的虚方法或虚属性。在下面的示例中,Z 从 Y 继承,但 Z 无法重写在 X 中声明并在 Y 中密封的虚函数 F。View Code 1 class X 2 { 3 protected virtual void F() { Console.WriteLine 阅读全文
posted @ 2011-03-14 17:05 猪特曼 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 一、了解委托 我们知道回调函数实际上就是方法调用的指针,也就是通常所说的函数指针。那么在.NET中,以委托的方式来实现了函数指针的概念。.NET中使用委托的主要原因是它是类型安全的,为什么呢?因为在以前,比如C中,函数指针只不过是一个指向存储单元的指针,我们无法说出这个指针实际指向什么,而委托确定了指向方法的返回值类型和参数列表。注意的是:委托并不等同于方法,而是一个引用类型。一、委托的定义委托的定义Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--& 阅读全文
posted @ 2011-03-13 00:44 猪特曼 阅读(3139) 评论(0) 推荐(0) 编辑