再度杯具,socket多线程编程!
现在是这样的,界面上就只有一个按钮 “监听” 按钮点击事件如下
int ListenClient()
{
int temp;
InitSocket();
memset(&Th_Socket,0,sizeof(Th_Socket));
if ((pthread_create(&Th_Socket,0,Socket_Thread,NULL))<0)
printf("Create Thread failure\n");
else
printf("Create Thread success\n");
return( Pt_CONTINUE );
}
为了防止点击按钮程序卡死,已经把监听循环放在新创建的线程 Th_Socket中了,现在问题出来了
假如现在有一个客户端连接过来,那我是就要在 Th_Socket 线程中再创建一个线程了来处理这个链接了是吧,而Th_socket继续监听,但是我在Th_Socket的线程函数中再创建线程 服务端不知道为什么取不到数据?
哪位大牛知道,或者说我的做法是不对的?? 请指正,谢谢!
int ListenClient()
{
int temp;
InitSocket();
memset(&Th_Socket,0,sizeof(Th_Socket));
if ((pthread_create(&Th_Socket,0,Socket_Thread,NULL))<0)
printf("Create Thread failure\n");
else
printf("Create Thread success\n");
return( Pt_CONTINUE );
}
为了防止点击按钮程序卡死,已经把监听循环放在新创建的线程 Th_Socket中了,现在问题出来了
假如现在有一个客户端连接过来,那我是就要在 Th_Socket 线程中再创建一个线程了来处理这个链接了是吧,而Th_socket继续监听,但是我在Th_Socket的线程函数中再创建线程 服务端不知道为什么取不到数据?
哪位大牛知道,或者说我的做法是不对的?? 请指正,谢谢!
...全文
相关推荐
基于UDP、TCP、多线程的socket编程
分别用UDP、TCP、多线程通信三种方式实现socket编程,是学习socket编程最全的小项目,是linux高级编程学习必须部分,现在我工作基本天天都跟他们打交道
QT Socket编程 多线程服务器
QT Socket 多线程
Python Socket编程之多线程聊天室
主要为大家详细介绍了Python Socket编程之多线程聊天室,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
C++多线程SOCKET收发
C++多线程SOCKET收发纯手工打造,网上的例子和解释都不行~既可以学习多线程操作,又可以实现SOCLET编程
Linux下基于socket的网络编程(包含多线程和Select机制)
本程序是Linux下基于socket套接字完成的简单网络编程程序,可以接收Tcp、Udp单播、Udp组播消息,并且加入了Select机制和多线程编程,比较简单,适合初学者使用。


