1.socket简介 socket是TCP/IP网络的API,可以用它来开发网络应用程序,socket数据传输是一种特殊的I/O,socket也是一种文件描述符 2.socket的建立 int socket(int domain, int type, int protocol) 函数返回:一个整型的socket描述符,可以在后面调用它。 参数说明: int domain:指明所使用的协议族, 通常是PF_INET, 表示网络(TCP/IP)协议族说明我们网络程序所在的主机采用的通讯协族(AF_UNIX和AF_INET等). AF_UNIX:只...
by vicegod - Linux文档专区 - 2008-06-06 09:10:27 阅读(566) 回复(0)
socket模型详解 [ 作者:wu_yanan2003 | 转贴自:http://www.delphibbs.com/keylife/iblog_show.asp?xid=22872 | 点击数:1296 | 更新时间:2006-10-27 | 文章录入:JGDream ] Winsock 的I/O操作: 1、 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式使用 起来比较复...
Winsock 的I/O操作: 1、 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式使用 起来比较复杂,因为函数在没有运行完成就进行返回,会不断地返回 WSAEWOULDBLOCK错误。但功能强大。 为了解决这个问题,提出了进行I/O操作的一些I/O模型,下面介绍最常见的三种: Windows ...
众所周知,socket server 有多种实现方式,我初步选定了多线程的模式,每个线程各自accept。但是有个问题,我是在主线程里面直接create n个线程好那,还是主线程先create一个线程,然后再由这个线程create n个工作线程。 主要是考虑安全以及监控,各位有经验的大侠不妨指点一二,不知道比较成熟的通信产品都是采用何种方式?
六种socket I/O模型学习 发布日期:2007-9-26 8:06:07 点击: 进入论坛 一:select模型 二:WSAAsyncSelect模型 三:WSAEventSelect模型 四:Overlapped I/O 事件通知模型 五:Overlapped I/O 完成例程模型 六:完成端口IOCP模型 老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。 这和socket模型非常类似。下面我就以老陈接收信件为例讲解socket I/O模型~~~ ...
早在两年前我就已经能很熟练的运用完成端口这种技术了,只是一直没有机会将它用在什么项目中,这段时间见到这种技术被过分炒作,过分的神秘化,就想写一篇解释它如何工作的文章.想告诉大家它没有传说中的那么高深难懂!有什么错误的地方还请高人指正.转载请注明出处及作者,谢谢! 以一个文件传输服务端为例,在我的机器上它只起两个线程就可以为很多个个客户端同时提供文件下载服务,程序的性能会随机器内CPU个数的增加而线性增长,我尽可...
服务器端 是用 epoll模型,把accpet到的iSockID 联合EPOLL_IN,EPOLL_ERR,加到epoll池中 client端程序退出的时候,server端收不到任何消息,请问这是为什么? 如果我想在client退出的时候,server端能知道,并做出一些响应,该怎么办? 是不是要另外用client向server发心跳包来实现? 问过一个搞windows的哥们,他说windows下,如果对端tcp socket关闭,那么,此端应该收到一个OnClose消息。linux下他不知道 谢谢各位朋友
在socket编程时使用select模型,如何判断对方主机已经关闭?
[code]
// sockselect.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include
好久都没来过啦.最近又在重看linux device driver这本书.之前看的时候忽略掉了linux设备模型这个章节,这次仔细看了一下,可看的相当头痛,迷迷糊糊...话说源代码时最好的工具书,于是查阅了一下源代码,也大致阅读了一些,没太仔细的句句分析,只是关注了与设备模型相关的。 linux设备模型的抽象是总线、设备、模型。按照这个顺序来分析就可以勾勒出linux设备模型。 先来几句废话.好久没有看过内核的源码了.感觉都生疏...
在读到linux驱动模型注册一个platform平台设备的时候,有struct device platform={.bus_id="platform",}; 其他成员变量并没有初始化,想求证一下,其他成员变量是不是被gcc自动初始化为 0 或者null或者在其他我没看见的地方对他们有初始化操作。 如果没有初始化 类似下面的操作可能会出错:if (dev->init_name) dev_set_name(dev, "%s", dev->init_name); 如果没初始化dev->init_name相当于一个野指针。 请大侠指点