分类: socket编程 |

TCP状态转化图

 tcp状态转换图

 

 

 

查看更多...

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 6695

java socket编程实例

 这篇文章将为你介绍java的socket编程(Java socket programming),服务器端等待客户端的链接。客户端发起连接之后,可以发送数据。在这个例子中,客户端发送一句"Hi my server"。要想终止本次连接,客户端发送"bye"给服务器,服务器将会回发一个“bye”,然后连接变可以终止了。服务器端继续等待下一个连接。这两个程序要在同一个机器上运行。如果你想要在两个不同的机器上运行,你也只需要修改地址“localhost”为服务器端程序所在机器的ip即可。

 

 

 

查看更多...

Tags: socket编程

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 10047

用ASIO编写UDP通信程序

  

ASIO的TCP协议通过boost::asio::ip名空间下的tcp类进行通信,举一返三:ASIO的UDP协议通过boost::asio::ip名空间下的udp类进行通信。

我们知道UDP是基于数据报模式的,所以事先不需要建立连接。就象寄信一样,要寄给谁只要写上地址往门口的邮箱一丢,其它的事各级邮局 包办;要收信用只要看看自家信箱里有没有信件就行(或问门口传达室老大爷)。在ASIO里,就是udp::socketsend_toreceive_from方法(异步版本是async_send_to和asnync_receive_from)。

下面的示例代码是从ASIO官方文档里拿来的(实在想不出更好的例子了:-P)

查看更多...

Tags: socket编程 asio udp

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 11950

ioctl 设置非阻塞SOCKET函数

   很多情况下非阻塞的IO操作比阻塞的IO操作更加灵活。socket编程实际上也是一种IO操作,让我们来看一下socket编程如何设置非阻塞套接字呢。WINDOWS和linux下的方法分别见于下。

查看更多...

Tags: 非阻塞 socket函数 socket编程

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 10805

IPv4 和 IPv6 头部结构主要区别

 IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。  IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。

让我们来看一下IPV4和IPV6的区别在哪里

查看更多...

Tags: 协议 ipv4 ipv6 socket编程

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 9201

socket编程典型过程图

要说socket编程,起过程几乎是固定的,没有太多的变化,无非是针对某些问题的处理手法不同罢了

查看更多...

Tags: socket编程

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 7744

FD_WRITE 事件的触发

  常见的网络事件中,FD_ACCEPT和FD_READ都比较好理解。一开始我唯一困惑的就是FD_WRITE,搞不清楚到底什么时候才会触发这个网络事件,后来仔细查了MSDN又看了一些文章并测试了下,终于搞懂了FD_WRITE的触发机制。

查看更多...

Tags: socket编程

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 8896

WSAEventSelect模式

   WSAEventSelect模型其实很简单,就是将一个事件对象同一个socket绑定并设置要监视的网络事件,当这个socket有我们感兴趣的网络事件到达时,ws2_32.dll就将这个事件对象置为受信状态(signaled),在程序中等待这个事件对象受信后,根据网络事件类型做不同的处理。如果对线程同步机制有些了解的话,这个模型很容易理解,其实就是CreateEvent系列的winsock版。

查看更多...

Tags: socket编程

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 6937

python的socket编程

 毕竟自己是搞网络的,每学会一种语言,总是要先搞清楚他对socket的支持,或者说,怎么进行网络编程!python是一种简洁的语言,希望它会对以后网络的测试方面有些帮助!

 
摘录详情如下: 

查看更多...

Tags: python socket编程

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 7424

Socket异步选择模型实例—聊天室

 

利用这个模型,应用程序可在一个套接字上,接收以Windows消息为基础的网络事件通知。具体的做法是在建好一个套接字后,调用WSAAsyncSelect()函数。

int WSAAsyncSelect(
SOCKET s,              //要进行操作的SOCKET
HWND hWnd,          //要绑写的窗口句柄(当事件发生后要接收消息的窗口)
unsigned int wMsg,         //网络事件发生时的的消息响应
long lEvent                     //感兴趣的网络事件
);

查看更多...

Tags: socket编程 聊天室 异步

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 7891

TIME_WAIT状态的意义

 客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口
状态为TIME_WAIT

是不是所有执行主动关闭的socket都会进入TIME_WAIT状态呢?
有没有什么情况使主动关闭的socket直接进入CLOSED状态呢?

查看更多...

Tags: socket编程 状态

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 7245

setsockopt 解析

int setsockopt (
SOCKET s,
int level,
int optname,
const char FAR * optval,
int optlen
);

查看更多...

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 8212

recv函数详解

int recv( SOCKET s, char FAR* buf, int len, int flags );

查看更多...

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 25680

开启php中的socket

php中的socket编程

上面这篇文章中,我列了一些在php中使用socket所用到的一些函数.但是有时候,我们在自己的机器上写好了代码,传到服务器上确没有得到正确的执行.这是为什么呢?其中一个可能的原因就是服务器上的socket没有打开.

查看更多...

Tags: socket php编程

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 10025

C#发送http请求

发送post数据

 

Encoding encoding = Encoding.GetEncoding("utf-8");

 

 

 

WebRequest webRequest = WebRequest.Create(http://www.zeroplace.cn);

 

webRequest.Method = "POST";

查看更多...

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 9100

socket实现端口扫描

搞过黑客的童鞋可能对扫描器应该都不陌生了,基本的端口扫描器,就是用来检测某个主机的一个或一系列端口的打开情况,给出结果。

下面,我就用socket制作一个简易的端口扫描器。

 

 

查看更多...

Tags: socket 端口扫描器

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 10468

php中的socket编程

一般不需要采集什么的话,php中不大需要直接操作socket函数的!如果是平常的采集也不需要用到socket函数。像file_get_contents这个函数就足以了。并且有些虚拟主机是关闭socket的。所以总的来说,socket在php中并不常见。但是如果你想要做一些特殊的事情,比如你采集的页面需要来路,需要cookie,或者你需要连接ftp来下载文件,那就需要socket函数了。下面就简单的介绍一下socket在php中的使用。

查看更多...

Tags: php socket socket编程

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 8655

域名解析

 在socket编程的时候,经常会需要讲某个域名解析成ip以便建立连接.

这里简单得给出一种用c语言,socket函数写的解析方法,也是比较简单的一种方法。 (windows平台下)

首先当然是加载一下套接字必要的库.

 

查看更多...

Tags: 域名解析 域名ip socket编程

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 10180

浅析HTTP协议

浅析HTTP协议

HTTP协议是什么?

简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。

HTTP协议能做什么?

很多人首先一定会想到:浏览网页。没错,浏览网页是HTTP的主要应用,但是这并不代表HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通信的双方都遵守这个协议,HTTP就能有用武之地。比如咱们常用的QQ,迅雷这些软件,都会使用HTTP协议(还包括其他的协议)。

HTTP协议如何工作?

大家都知道一般的通信流程:首先客户端发送一个请求(request)给服务器,服务器在接收到这个请求后将生成一个响应(response)返回给客户端。

在这个通信的过程中HTTP协议在以下4个方面做了规定:

1.         RequestResponse的格式

Request格式:

HTTP请求行
(请求)头
空行
可选的消息体

注:请求行和标题必须以<CR><LF> 作为结尾(也就是,回车然后换行)。空行内必须只有<CR><LF>而无其他空格。在HTTP/1.1 协议中,所有的请求头,除Host外,都是可选的。

 

实例:

GET / HTTP/1.1

Host: gpcuster.cnblogs.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-us,en;q=0.5

Accept-Encoding: gzip,deflate

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

Keep-Alive: 300

Connection: keep-alive

If-Modified-Since: Mon, 25 May 2009 03:19:18 GMT

Response格式:

HTTP状态行
(应答)头
空行
可选的消息体

 

 

查看更多...

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 9956

常用端口一览

端口:0
服务:Reserved
说明:通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。

端口:1
服务:tcpmux
说明:这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。Irix机器在发布是含有几个默认的无密码的帐户, 如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。许多管理员在安装后忘记删除这些帐户。因此HACKER在INTERNET上搜索tcpmux并利用这些帐 户。

查看更多...

Tags: 端口 socket

分类:socket编程 | 固定链接 | 评论: 0 | 查看次数: 9842