socket
llljjlj
这个作者很懒,什么都没留下…
展开
-
linux网络编程:设置非阻塞socket收发数据
非阻塞式I/O包括非阻塞输入操作,非阻塞输出操作,非阻塞接收外来连接,非阻塞发起外出连接。包括的函数有:read, readv, recv, recvfrom, recvmsg, write, writev, send, sendto, sendmsg, accept。 将socket 设置为非阻塞模式有三种方法: (1)创建socket的时候,指定socket是异步的,在type的参...原创 2018-04-17 15:01:31 · 461 阅读 · 0 评论 -
C#获取本机内网外网IP
using System.Net;# region 获取内、外网Ip/// <summary>/// 获取本地ip地址,优先取内网ip/// </summary>public static String GetLocalIp(){ String[] Ips = GetLocalIpAddress(); foreach (String ip ...原创 2018-04-13 18:18:32 · 203 阅读 · 0 评论 -
int socket(int domain, int type, int protocol)参数详解
前言:网上对于socket的资料很多,但是很凌乱。笔者这里整理一下socket的各种参数。可参考本人博客:Linux下的raw Socket(原始套接字)编程:http://blog.csdn.net/luchengtao11/article/details/73878760Windows Socket编程之UDP实现大文件的传输:http://blog.csdn.net/luchengtao11...原创 2018-04-13 18:30:02 · 582 阅读 · 0 评论 -
linux setsockopt函数
功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#include <sys...原创 2018-04-13 18:38:32 · 377 阅读 · 0 评论 -
linux setsockopt 设置发送缓冲区大小
setsockopt(s, SOL_SOCKET, SO_SNDBUF, (const char*)&m_sLinger, sizeof(linger)); 根据上述配置可以配置发送缓存区和接受缓存区大小。但是设置后的真实缓存区大小是多少呢? (1)当设置的值val > 最大值sysctl_wmem_max,则设置为最大值的2倍:2*sysctl_wmem_max; ...原创 2018-04-13 19:24:49 · 2839 阅读 · 0 评论 -
linux 网络参数调优
所有的TCP/IP调优参数都位于/proc/sys/net/目录。例如, 下面是最重要的一些调优参数, 后面是它们的含义:1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲。2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲。3. /proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考...原创 2018-04-13 19:37:02 · 479 阅读 · 0 评论 -
tcp_socket绑定(bind)失败---Address already is use原因
我们前面介绍了三种tcp_server编写多进程多线程服务器编写,在测试这三个servet我们遇到一个问题,就是当我们绑定一个端口号后,ctrl-z结束掉server服务器,此时再次绑定该端口号会出现这样的出错提示:显示端口号正在被使用,可是我们已经关闭了服务器了,为什么不能使用呢?但过一端时间之后,该端口号又可以使用了,这又是为什么呢?IBM官网给出了具体解释linux套接字编程的五大隐患 其中...原创 2018-04-24 19:16:31 · 2037 阅读 · 0 评论 -
LINUX socketopt 设置
功能描述:获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位 于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须 给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#include <sys/types...原创 2018-04-29 15:15:01 · 226 阅读 · 0 评论 -
accept与connect的超时设置
connect超时:我们都知道,connect对应与三次握手中的第一次发送SYN,而对待服务器的ACK,如果服务器没有启动服务器,有些机器会立刻返回一个RST表示服务器拒绝,从而connect失败,但又些服务器为了防止攻击,什么也不发送,直至客户端connect超时,而这一时间又75s,对于客户端来说是不能接收的。所以需要设置connect的超时时间。利用select设置connect的超...原创 2019-05-08 10:10:07 · 1060 阅读 · 0 评论