Unix/Linux支持伯克利风格的套接字编程,它同时支持面向连接和面向无连接类型的套接字。套接字最常用的一些系统调用:socket() bind()connect()listen()accept()send()recv()sendto()recvfrom()close()shutdown()se....
分类:
其他好文 时间:
2014-08-17 19:52:12
阅读次数:
268
最近在学习IO模型,就突然想到了epoll属于哪个IO模型这个问题。要研究这个问题,我们首先要知道有哪些常用的IO模型。
常见的IO模型如下:
阻塞IO:程序阻塞直到IO可用。最简单的IO模型,你平时调用的recvfrom接收函数就属于这个模型。
非阻塞IO:程序调用IO函数后立刻返回,无论当前IO可用不可用。如果你把套接字设置成了非阻塞模式,那么你使用的就是这个模型了。
复用IO:程序阻...
分类:
其他好文 时间:
2014-08-16 16:33:00
阅读次数:
201
send、recv和sendto、recvfrom,一般情况下,send、recv在TCP协议下使用,sendto、recvfrom在UDP协议下使用,也可以在TCP协议下使用,不过用的很少。1、send这里只描述同步socket的send函数的执行流程。s:套接字|buf:存储发送数据|len:发...
分类:
其他好文 时间:
2014-08-13 01:00:34
阅读次数:
200
最近在开发基本Modbus协议的Android端PLC控制程序,C#版程序没有任何问题,移到JAVA下出现各种问题,其中比较苦恼的是java.net.SocketException: recvfrom failed: ECONNRESET错误。 开始我的解决方法是每次向PLC发送一条数据后关掉...
分类:
移动开发 时间:
2014-07-30 20:17:14
阅读次数:
261
struct sockaddr { unsigned short sa_family; charsa_data[14]; };此数据结构用做bind、connect、recvfrom、sendto等函数的参数,指明地址信息。但一般编程中并不直接针对此数据结构操作,而是使用另一个与sockaddr等....
分类:
其他好文 时间:
2014-07-29 17:20:42
阅读次数:
208
新手刚接触,跟着孙鑫老师视频一步一步的做。从VC6.0到VS2010好像并不是那么顺利,下面记录下一点收获。网络编程的一般步骤:1声明套接字版本(WSAStartup);2创建套接字(socket);3绑定套接字(bind);4发送接收(sendto/recvfrom);5关闭(closesocke...
分类:
编程语言 时间:
2014-07-19 09:09:47
阅读次数:
283
linux和windows下用setsockopt设置SO_SNDTIMEO,SO_RCVTIMEO的参数的一点区别 UDP的socket在某些情况:如对方关闭时,本地可能sendto不出去数据,然后recvfrom就会被阻塞,这时就需要设置 这两个参数的值提高程序质量。linux: struct....
分类:
其他好文 时间:
2014-06-26 00:38:51
阅读次数:
504
recvfrom阻塞接收的问题,网络不通就一直等,想改成非阻塞的,也不可靠谱。最后设置了一个超时时间
struct timeval tv_out; tv_out.tv_sec = 5;//等待10秒 tv_out.tv_usec =
0;setsockopt(s...
分类:
其他好文 时间:
2014-06-11 11:43:41
阅读次数:
190
#include ssize_t recvfrom(int sockfd, void *buff,
size_t nbytes, int flags, struct sockaddr *from, socklen_t *addrlen);ssize_t
sendto(int sockfd, cons...
分类:
其他好文 时间:
2014-06-09 13:22:32
阅读次数:
319
API
HOOK,就是截获API调用的技术,在程序对一个API调用之前先执行你的函数,然后根据你的需要可以执行缺省的API调用或者进行其他处理,假设如果想截获一个进程对网络的访问,一般是几个socket
API : recv,recvfrom, send, sendto等等,当然你可以用网络抓包工具...