socket
windyf2013
这个作者很懒,什么都没留下…
展开
-
UDP编程中的connect
udp发送数据有两种方法供大家选用。方法一:socket----->sendto()或recvfrom()方法二:socket----->connect()----->send()或recv()首先把这四个发送函数的定义列出来:int send(int s, const void *msg, size_t len, int flags);int send...原创 2019-10-17 17:11:04 · 656 阅读 · 0 评论 -
Linux的SOCKET编程详解
Linux的SOCKET编程详解1. 网络中进程之间如何通信进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal)UNIX system V有转载 2017-09-29 09:27:51 · 153 阅读 · 0 评论 -
tcp短连接TIME_WAIT问题解决方法大全
tcp连接是网络编程中最基础的概念,基于不同的使用场景,我们一般区分为“长连接”和“短连接”,长短连接的优点和缺点这里就不详细展开了,有心的同学直接去google查询,本文主要关注如何解决tcp短连接的TIME_WAIT问题。短连接最大的优点是方便,特别是脚本语言,由于执行完毕后脚本语言的进程就结束了,基本上都是用短连接。但短连接最大的缺点是将占用大量的系统资源,例如:本地端口转载 2017-12-09 00:51:11 · 1416 阅读 · 0 评论 -
socket的TIME_WAIT状态的原因及解决办法和避免的办法
一查看现在time_wait的数量及浅析 netstat -an | grep TIME_WAIT | wc -l 发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决,在 /etc/sysctl.conf中加入 net.ipv4.tcp_tw_recycle = 1 (表示开启TCP连接中TIME-WAIT转载 2017-12-09 01:15:47 · 20646 阅读 · 4 评论 -
SOCKET绑定时,端口和地址为0解析
在socket编程中,要做服务器时我们通常要使用bind函数来绑定一个ip和port。但有时在使用bing函数时发现,addr中的ip或者port为0的情况。在《UNIX网络编程》这本书中提到:“如果一个TCP客户或者服务器未曾调用bind捆绑一个端口,当调用connect或listen时,内核就要为相应的套接字选择一个临时接口。”可见bind函转载 2018-03-29 09:25:56 · 4682 阅读 · 0 评论 -
IO模式设置网络编程常见问题总结
IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT(recv使用) 非阻塞IO 和阻塞IO: 在网络编程中对于一个网络句柄会遇到阻塞IO 和非阻塞IO 的概念, 这里对于这两种socket 先做一下说明: 基本概念: 阻塞IO:: ...转载 2018-03-29 10:04:34 · 136 阅读 · 0 评论 -
socket通信关于bind端口和IP
结论:1、采用TCP通信时,客户端不需要bind()他自己的IP和端口号,而服务器必须要bind()自己本机的IP和端口号;2、若采用UDP通信时(这里是有客户端和服务器之分才这么说的,若是指定特定端口的UDP对等通信则不一样了),客户端也可以不需要bind()他自己的IP和端口号,而服务器需要bind自己IP地址和端口号;原因:1、因为服务器是时时在监听有没有客户端的连接,如果服务器不绑定IP和...转载 2018-03-29 10:06:25 · 3379 阅读 · 0 评论