当前位置:首页 » 编程软件 » socket编程c多线程

socket编程c多线程

发布时间: 2023-07-25 18:49:05

A. C# winForm Socket 多线程 编程 关闭问题

2中方式,除主线程外其他线程设置为后台线程,即background thread,这是线程创建时的一个属性,另一种就是应用程序退出时的事件里手动退出线程
----
void Application_Exit(object sender,args e)
{
//thread.abort();

}

好像是这样写吧,好久没用C#了,有点忘了,MSDN上有详细的说明

socket是非托管资源,我的理解是最好首先清理(在其他线程前);

B. socket同步异步多线程问题

1.是多线程,不算异步。
2.BeginAccept是异步,虽然你的程序中用myreset.WaitOne();进入了等待事件的过程。如果不等待事件,就可以继续运行下面的程序了。
我的经验是,这种情况就不用异步。
3.回调当然会消耗系统资源。大数据的话,我建议用线程循环做。
4.同步就会阻塞,异步主线程不阻塞,当需要监听后,还需要做一些其他处理的话,就用异步,如果一切就绪等待连接的,就用同步比较好。
5.委托给了.net框架,内部应该也是线程和阻塞。
路过,不足之处,请继续问。

C. c++ 多线程socket编程可以多个线程同时accept数据吗

监听连接都用一个线程就行了,多线程监听是不明智的,监听到之后把创建连接的套接字发送给其他线程通信就行。。。。

D. linux c socket 如何实现一个进程多个线程,每个线程管理多个socket连接

大家仔细看,楼主的题目还是很有难度的呢,一个进程多个线程容易实现,但是要让这些线程中每个线程都管理多个socket连接,确实比较难~~坐等高手。
不过一般都是一个线程处理一个socket连接,这种例子是:
(取自书上,仅供学习,直接编译肯定通不过,少书上其他代码)
==================================================
/* include serv06 */#include "unpthread.h"
intmain(int argc, char **argv)
{
int listenfd, connfd;
void sig_int(int);
void *doit(void *);
pthread_t tid;
socklen_t clilen, addrlen;
struct sockaddr *cliaddr;

if (argc == 2) listenfd = Tcp_listen(NULL, argv[1], &addrlen);
else if (argc == 3)
listenfd = Tcp_listen(argv[1], argv[2], &addrlen);
else
err_quit("usage: serv06 [ <host> ] <port#>");
cliaddr = Malloc(addrlen);

Signal(SIGINT, sig_int);
for ( ; ; ) { clilen = addrlen;
connfd = Accept(listenfd, cliaddr, &clilen);

Pthread_create(&tid, NULL, &doit, (void *) connfd); }
}

void *doit(void *arg)
{
void web_child(int);

Pthread_detach(pthread_self()); web_child((int) arg);
Close((int) arg);
return(NULL);
}
/* end serv06 */

voidsig_int(int signo)
{
void pr_cpu_time(void);

pr_cpu_time(); exit(0);
}
================================================================

E. 关于Socket多线程编程的recv函数问题

建议设个flag,在服务端进这个while后,如果没处理(文件没发送)完毕前,不在进入,或多开几个thread设置不同端口等待接收客户端的要求。

热点内容
c语言缓冲 发布:2025-04-05 15:59:08 浏览:958
解压磁链接app 发布:2025-04-05 15:48:49 浏览:197
记忆存储式 发布:2025-04-05 15:47:15 浏览:781
钻四孔编程 发布:2025-04-05 15:42:02 浏览:83
Python里的方法 发布:2025-04-05 15:35:16 浏览:244
我的世界服务器跨维度传送 发布:2025-04-05 15:25:12 浏览:403
康佳安卓遥控器怎么样 发布:2025-04-05 15:11:42 浏览:814
植上传媒 发布:2025-04-05 15:04:05 浏览:956
账号密码哪里修改 发布:2025-04-05 15:03:24 浏览:552
centos一键安装php 发布:2025-04-05 15:02:16 浏览:965