Socket多端口侦听,不能用两个线程侦听两个端口吗?

fohoo 2003-08-19 06:22:05
在应用中,服务端要同时侦听两个端口,我想用一个线程侦听一个端口。

分开只开一个侦听时正常,但开两个时,后一个线程初始化socket时会导致程序退出

是不是socket库是线程不安全的?

如何可以做到同时侦听两个端口,用多进程??



我是在LINUX下写,不过WINDOWS也该差不多吧,我有点晕了..
...全文
235 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
awant2k 2003-08-21
  • 打赏
  • 举报
回复
m_pSvrSock1 = new CMyServerSocket(this);
if (m_pSvrSock1->Create(SOCKET_PORT_1,SOCK_STREAM))
{
TRACE("m_pSvrSock1 创建成功\n");
if(m_pSvrSock1->Listen())
{
TRACE("m_pSvrSock1 开始侦听....\n");
}
}

m_pSvrSock2 = new CMyServerSocket(this);
if (m_pSvrSock2->Create(SOCKET_PORT_2,SOCK_STREAM))
{
TRACE("m_pSvrSock2 创建成功\n");
if(m_pSvrSock2->Listen())
{
TRACE("m_pSvrSock2 开始侦听...\n");
}
}

fang_jb 2003-08-21
  • 打赏
  • 举报
回复
同一个进程里申请两个socket是肯定可行的,你的问题一定不在这里
男人三十好累 2003-08-21
  • 打赏
  • 举报
回复
可以的,一定是你的代码线程不安全
fohoo 2003-08-20
  • 打赏
  • 举报
回复
up
fohoo 2003-08-20
  • 打赏
  • 举报
回复
问题没有解决,急啊

现在是不能在一个进程里调socket两次,因为我想侦听两个端口

int testFD = socket(AF_INET, SOCK_STREAM, 0);
int listenFD = socket(AF_INET, SOCK_STREAM, 0); //这里会导致程序退出, 不行啊

用linux, g++
ifromheaven 2003-08-20
  • 打赏
  • 举报
回复
问题不在SOCKET,侦听多个端口是完全可以的.
zerphy 2003-08-19
  • 打赏
  • 举报
回复
可以!
smch 2003-08-19
  • 打赏
  • 举报
回复
用raw socket
flashboy 2003-08-19
  • 打赏
  • 举报
回复
绝对可以的,不过你如果使用MFC的SOCKET类的时候就要特别注意了。
不过我们一般网络多线程用的SOCKET都是用自己封状好了的类,这样比较安全
孤必有邻 2003-08-19
  • 打赏
  • 举报
回复
按侦听第一个端口的方式侦听第二个端口,不应该有问题。
一定是代码中有个小小的错误,仔细看看。
 【为什么购买本课程?】1、学会Photoshop脚本,可以大幅提高您的工作效率、摆脱大量重复设计任务的束缚;2、扩展Photoshop的功能:天气预报、to-do设计任务管理、中文加拼音、图层文字中英互译、每日一句英语、OCR智能识别图片上的文字内容、 为上万影片批量生成九宫格预览图、为数百个视频自动添加内容不同的片头、自动获取图片的主题颜色、快速生成不限数量并且不重复的漂亮卡通头像、给Photoshop添加猜数字、贪吃蛇游戏等等;3、利用人工智能技术:在Photoshop中识别图片中指定颜色的物体、进行面部识别;4、掌握99%Photoshop设计师不曾接触的技能,打造自己的职场护城河!5、重要的是:只有我们这里提供系统、全面、易学的Photoshop脚本教程,只此一家,别无选择!  【Photoshop脚本是什么?】* Photoshop神秘和强大的一项秘技!* 它可以允许您以代码的方式来操作文档、美化图像、处理图层、控制通道、编辑选区、使用滤镜等等,就像在Photoshop界面上操作一样。* 与PhotoShop动作(Action)相比,PhotoShop脚本更强大、更智能、更富有逻辑判断功能。* PhotoShop脚本主要用于重复性的任务或用于制作非常复杂的特殊效果。 【学会Photoshop脚本,可以做什么?】* 一键给n个图片批量添加水印;* 一键将n个图片批量生成指定尺寸的缩略图;* 一键将PSD网页设计稿的各功能区域,批量输出为Web所用格式;* 一键生成iOS、Andriod应用和游戏必需的十几种尺寸的图标;* 一键将n个小图拼合为一张大图,并输出各小图在大图中的坐标信息;* 甚至开发一款运行在Photoshop上的趣味游戏!我们向您保证,学习PhotoShop脚本所花费的时间,可以在完成几项重复性的复杂任务时得到补偿。快来学习Photoshop脚本吧!  【课程的特点】1、创新的教学模式:手把手教您Photoshop自动化技术,一看就懂,一学就会;2、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;3、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间;4、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索;5、课程源码素材:购买课程之后,进入最后一章的最后一节的课件列表,下载课程源码素材。 

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧