当前位置:  技术问答>linux和unix

从多个socket接收数据

    来源: 互联网  发布时间:2015-05-13

    本文导语:  当前条件:   本机同其它的机器建立多个socket,现在要从这多个socket接收数据。 问题:  1. 要是使用pthread_create只建立一个线程,在此线程中使用循环来从每个socket接收数据,则在采用阻塞方式的时候是不是前面...

当前条件:
  本机同其它的机器建立多个socket,现在要从这多个socket接收数据。

问题:
 1. 要是使用pthread_create只建立一个线程,在此线程中使用循环来从每个socket接收数据,则在采用阻塞方式的时候是不是前面的socket在无数据而被阻塞的时候,其后的socket即使有数据也不会被执行到。要是这样的话,那就只能采用非阻塞方式了?

 2. 要想采用阻塞方式接收数据,针对每个socket使用pthread_create创建一个线程的话。岂不针对每个线程都要写一个与socket相对应的接收函数,而这些函数代码完全相同。而且socket的个数是不定的,其个数可以由外部改变的。

  以前没有编过多线程程序,也许是我理解有误,有更好的解决方法。还请大家多多指点。

|
用select加阻塞socket方式。
当有连接时,创建线程处理。或者用线程池技术,当然这样需要调度。
另外线程的代码段可以是一样的,也就是说相同的代码段可以多次执行成为多个指令流,即线程。

    
 
 

您可能感兴趣的文章:

  • 求一个Shell 脚本,完成发送邮件(带附件,多个接收人)的功能
  • 一个进程中运行多个ping,接收出错
  • 利用多个转储文件导出大量Oracle数据
  • 多个进程同时向fifo写不同的数据会有什么下场???
  • 多个数据表可不可以只生成一个entitybean?
  • 用户态程序如何和多个内核模块进行同时数据交互??
  • 请大家讨论,来者有分,java中多个线程之间共享数据的方法都有哪些?
  • mssql2000 有多个数据库,用jdbc连接时候,怎样指定我想用的那个?
  • 如何在sco/unix5.0下同时安装多个数据库(oracle和informix)???
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • 同多个线程通过同一个socket发送数据,操作系统底层会同步每个发送操作吗
  • jdbc的ResultSet能否用储存过程返回多个数据集?
  • 请问,多个进程如何共享一个数据结构?
  • 请教:LINUX 如何将多个文件碎片链接成一个完整文件,而不是再拷贝一份数据~
  • 调用同一个函数建立的多个线程,如何使用函数的数据?
  • 如何在多个数据库表中取得结果?
  • 在一个servlet中,如何只向数据库提交一次,就同时执行多个SQL语句
  • 急!从数据库返回的包含有多个列的结果集存入数组该怎么做???
  • 在main()中调用同一个函数建立多个线程,此函数中定义的数据在多线程中如何使用?
  • 在Oracle数据库中部署多个SDE服务
  • PHP同时连接多个mysql数据库示例代码
  • Oracle中Union与Union All的区别(适用多个数据库)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Uploadify 'uploadify.php'存在多个输入验证漏洞
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • 移动开发 iis7站长之家
  • 一个物理服器一个公网IP,多个虚拟机,多个域名
  • 多jdk环境下安装多个tomcat冲突解决配置方法
  • 一个进程中的多个线程不会被调度到一台机器中的多个cup并行执行吗?
  • Apache + tomact 配多个域名 对 多个目录。
  • vim管理多个文件
  • 一个LINUX的驱动程序中,能不能注册多个中断?
  • 300分!查错,解决多个生产者和多个消费者问题 高手进!分不够想法子再加!
  • 如何使一个按钮响应多个事件?过来侃侃@!!!!
  • linux系统支持多个网卡同时工作吗?
  • linux字符界面怎么同时运行多个程序?
  • apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)
  • 请问如何实现多个并行的定时器?
  • 请教POSIX问题:一个进程中,可以有多个互斥锁麽?
  • 请问如何在一个文件系统修改源码管理并使用多个卷(存储设备)
  • 用tar命令如何解压多个文件
  • linux下如何做象windows下的OnTimer一样,多个定时器用一个回调函数!!!!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3