在应用中,服务端要同时侦听两个端口,我想用一个线程侦听一个端口。分开只开一个侦听时正常,但开两个时,后一个线程初始化socket时会导致程序退出是不是socket库是线程不安全的?如何可以做到同时侦听两个端口,用多进程??我是在LINUX下写,不过WINDOWS也该差不多吧,我有点晕了..
解决方案 »
- 一个mfc中文件读入问题,一直找不到错误,谁能帮忙啊!!急
- DLL导出多个类,有点不懂,请大家帮忙
- 怎样定义一个 map<CString,CStringList> 全局变量?
- 关于vc编译的问题
- 奇怪的问题:在WIN98下编译的程序,拿到XP下运行,滚动条不会显示XP风格
- sql语言中,创建一个table的时候,如何知道这个表已经存在啊?
- ADO记录集对象的创建问题,给个建议....
- 象联众这样的客户端程序是用什么工具开发的?
- dbgheap.c 1084问题
- 小妹学过c语言,想请教如果要自己做一些实用的小程序,下一步该学什么?
- 做一个软件发行光盘,如何做一个欢迎界面,可以在界面上选择多个不同的系统安装。
- DBgrid控件怎样和ADO绑定?
不过我们一般网络多线程用的SOCKET都是用自己封状好了的类,这样比较安全
int listenFD = socket(AF_INET, SOCK_STREAM, 0); //这里会导致程序退出, 不行啊用linux, g++
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");
}
}