社区
进程/线程/DLL
帖子详情
怎样得到另一进程的SOCKET句柄
vcx
2000-09-10 11:53:00
...全文
83
1
打赏
收藏
怎样得到另一进程的SOCKET句柄
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sxbyl
2000-09-11
打赏
举报
回复
用CAsyncSocket::GetPeerName或getpeername即可得到连接到当前Socket的socket信息。如果对方没有连接到本地Socket,好像是没办法的(起码我不知道)。
演示Client
Socket
反复连接
进程
句柄
数不变
在服务端不存在或没开启时,client
socket
反复连接服务端会导致程序
句柄
数急速增加,最后系统资源耗尽出错,本demo较好的解决了这一问题.
linux的最大
进程
句柄
数设置
linux的最大
进程
句柄
数设置在Linux下,我们使用ulimit -n命令可以看到单个
进程
能够打开的最大文件
句柄
数量(
socket
连接也算在里面)。系统默认值1024。
面向连接的
socket
网络编程
所有网络程序都是网络上处于不同地理位置的主机上的
进程
之间的通信,即网间
进程
的通信。 既然要通信,必须为网络上的所有
进程
分配标识,否则就无法通信。网络中用一个三元组可以在全局唯一标志一个
进程
:(协议,IP地址、端口号)。这样一个三元组,叫做一个半相关(half-association),它指定连接的每半部分。。一个
Socket
句柄
就是这样一个三元组(半相关),定义
Socket
句柄
时指定了通信的协议(地址簇、
Socket
类型和协议),而调用bind()则把指定的终结点(IP地址、端口号)绑定到
Socket
句柄
。 要建立一个连接,必须知道对方的终结点。于是,一个完整的网间通信需要一个五元组来标识:(协议,本地地址,本地端口号,远地地址,远地端口号)。这样一个五元组,叫做一个相关(association),即两个协议相同的半相关才能组合成一个合适的相关,或完全指定组成一连接。当一个
Socket
没有人工指定本地终结点(如调用Bind())时,系统(基础服务提供程序)会自动分配一个有效的本地终点,然后再检索以作它用。
SHELL脚本 根据PID查询
进程
状态[CPU\内存\
句柄
\线程数\
SOCKET
]
根据PID查询
进程
状态[CPU\内存\
句柄
\线程数\
SOCKET
],可编辑默认
进程
名称、或者./process_info.sh [PID] 使用
Linux下查看
进程
打开的文件
句柄
数和如何修改方法
修改文件
句柄
数在Linux下,我们使用ulimit -n 命令可以看到单个
进程
能够打开的最大文件
句柄
数量(
socket
连接也算在里面)。系统默认值1024。 对于一般的应用来说(象Apache、系统
进程
)1024完全足够使用。但是如何象squid、mysql、java等单
进程
处理大量请求的应用来说就有 点捉襟见肘了。如果单个
进程
打开的文件
句柄
数量超过了系统定义的值,就会提到“too many files open”的错误提示。如何知道当前
进程
打开了多少个文件
句柄
呢?下面一段小脚本可以帮你查看: 1.lsof -n |awk ‘{print $2}’|sort|uniq -c |sort -nr
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章