社区
网络编程
帖子详情
一个进程对以本地IP bind 多个端口可以吗?
Rate
2003-10-17 09:43:40
我是说:
一个端口来读取UDP消息包,
一个端口来发送处理的UDP消息包
要是同一个端口进行接受发送,会不会很拥挤呢?
谢谢了
...全文
205
11
打赏
收藏
一个进程对以本地IP bind 多个端口可以吗?
我是说: 一个端口来读取UDP消息包, 一个端口来发送处理的UDP消息包 要是同一个端口进行接受发送,会不会很拥挤呢? 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flagfly
2003-10-17
打赏
举报
回复
没问题
BinaryTreeEx
2003-10-17
打赏
举报
回复
会浪费多少自愿呢?
studyingpersons
2003-10-17
打赏
举报
回复
如果按楼主说得办,你必须为每个端口建立一个套接字,这样资源会很浪费!
所以我建议你用一个端口读和写!!!
Rate
2003-10-17
打赏
举报
回复
渔小鱼:
你是说可以bind吗?我能够从一端口读消息,从另一端口发消息
我不确定,因为我要在2个线程中分别来处理这些事情...
cryptonym
2003-10-17
打赏
举报
回复
看数据量和缓冲的大小了。
Rate
2003-10-17
打赏
举报
回复
FD_ZERO(&fdWrite);
FD_SET(m_sReadWrite, &fdWrite);
rs = select(NULL,NULL,&fdWrite,NULL,NULL);
if (rs > 0)
{
rs = sendto(m_sReadWrite,OutMsg.c_str(),OutMsg.size(),0,(SOCKADDR*)&m_RemoteWriteToSockAddr_In,sizeof(SOCKADDR));
//发送失败,写日志
if (SOCKET_ERROR == rs)
{
}
}//端口可以发送数据
我只有依照读信息如法炮制了,我测试了一下,还行呢
还是有疑问:
读线程recvfrom读到一半数据,线程被挂起,
这时候
写线程开始往改端口灌数据,select返回值也大于0
端口的读写之间好像毫不相干?
rtdb
2003-10-17
打赏
举报
回复
用两个端口没问题, 一收一发好控制。
FTP就是两个端口的,一个管数据,一个管命令。
Rate
2003-10-17
打赏
举报
回复
有人能解决我的问题吗?
Rate
2003-10-17
打赏
举报
回复
是一个CUP没错啊
可我的线程要发数据,可又不知道端口此时是不是在接收数据
这儿线程的同步问题怎么处理?是不是不需要对socket同步啊?
int AddrLen = sizeof(SOCKADDR);
int rs;
while(TRUE)
{
FD_ZERO(&fdRead);
SOCKET s = m_sReadIn;
FD_SET(s, &fdRead);
rs = select(NULL,&fdRead,NULL,NULL,NULL); //&stTime
if (rs > 0)
{
//读取数据
memset(Data,0,sizeof(Data));
rs = recvfrom(m_sReadIn,Data,sizeof(Data),0, (SOCKADDR*)&m_RemoteSockAddr_In,&AddrLen);
std::string Info("读到消息:");
Info = Info + Data;
m_LogFile.WriteLog(Info);
...
为什么我给该端口发了数据包,select就是不返回啊
wwww2
2003-10-17
打赏
举报
回复
收发缓冲是相对独立的,拥挤这个说法是不成立的
sevencat
2003-10-17
打赏
举报
回复
不会拥挤的。
你以为你拥挤啊。
你只有一个CPU拥什么挤
端口
号 &
一个
端口
号是否可以被
多个
进程
绑定?&
一个
进程
是否可以
bind
多个
端口
号?【转】
(转自:https://blog.csdn.net/dangzhangjing97/article/details/80958819) 1.
端口
号的作用
端口
号可以用来标识同
一个
主机上通信的不同应用程序,
端口
号+
IP
地址就可以组成
一个
套接字,用来标识
一个
进程
2.
端口
号的应用场景 在TCP/
IP
协议中,用“源
IP
地址”,“目的
IP
地址”,“源
端口
号”,“目的
端口
号”,协议号(
IP
协议的协...
端口
号 &
一个
端口
号是否可以被
多个
进程
绑定?&
一个
进程
是否可以
bind
多个
端口
号?
1.
端口
号的作用
端口
号可以用来标识同
一个
主机上通信的不同应用程序,
端口
号+
IP
地址就可以组成
一个
套接字,用来标识
一个
进程
2.
端口
号的应用场景 在TCP/
IP
协议中,用“源
IP
地址”,“目的
IP
地址”,“源
端口
号”,“目的
端口
号”,协议号(
IP
协议的协议号为4,TCP的协议号为6)这样的
一个
五元组来标识
一个
通信,通信的双方在发送消息时,消息的头部会带着这样的五元组 3.端...
如何
多个
进程
监听同
一个
端口
1. 问题描述
一个
进程
监听
端口
,经验告诉我们,如果多次启动
一个
进程
会报错:“Address already in use!"。这是由于
bind
函数导致的,由于该
端口
号已经被第
一个
进程
监听了。有哪些方法可以实现
多个
进程
监听同
一个
端口
呢? 2. 方案一:fork 只要在绑定
端口
号(
bind
函数)之后,监听
端口
号之前(listen函数),用fork()函数生成子
进程
,这样子
进程
就可以克隆父
进程
,达到监听同
一个
端口
的目的,而且还相互竞争,提高程序效率。 这里要注意的是,计算机三次握手创建连接是不需要服务进
多个
进程
能否监听同
一个
端口
号?
我们都知道socket是网络上两个
进程
之间的双向通信链路, 即socket = A
进程
的
IP
地址:
端口
号 B
进程
的
IP
地址:
端口
号。 那么有个问题就很有意思了,不同的
进程
可以监听在同
一个
IP
地址:
端口
号么?根据Unix网络编程中的知识可知,服务端监听
一个
端口
会经历:1、根据套接字类型(
Ip
v4,
Ip
v6等)创建套接字socket2、将套接字
bind
绑定到具体的网络地址和
端口
号3、调用liste
单个
进程
监听
多个
端口
及
多个
进程
监听同
一个
端口
单个
进程
监听
多个
端口
单个
进程
创建
多个
socket 绑定不同的
端口
,TCP, UDP 都行
多个
进程
监听同
一个
端口
(mult
ip
le processes listen on same port)方式1:通过 fork 创建子
进程
的方式可以实现,其他情况下不行。当连接到来时,子
进程
、父
进程
都可以 accept, 这就是著名的“惊群”问题(thundering herd problem)。NGINX 的...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章