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

嵌入式uclinux中网络编程的问题

    来源: 互联网  发布时间:2015-08-15

    本文导语:  此问题出在嵌入式的uclinux中,即CPU为NOMMU管理。   我在uclinux上运行了服务器端的程序,此服务器程序调用socket,bind,listen来建立一固定端口的监听。客户端使用服务器的IP+固定端口来连接服务器。 每个客户端中都...

此问题出在嵌入式的uclinux中,即CPU为NOMMU管理。
  我在uclinux上运行了服务器端的程序,此服务器程序调用socket,bind,listen来建立一固定端口的监听。客户端使用服务器的IP+固定端口来连接服务器。
每个客户端中都已经固定设置了所要连接的服务器端口,不能更改,也就是服务器端一定要有此端口在监听。

单个客户端与服务器端都没正常。问题在于有多个客户端时候
当有俩个以上客户端连接服务器程序时,服务器vfork()出另一个经常来处理此连接,但是新fork出来的进程却不能使用已建立连接的socket描述符(因为其完全拷贝原进程,且重新执行,造成bind错误)。
我推测嵌入式CPU的NOMMU使得多进程间无法共享描述符等资源,不知道system IPC有没有效?能否在多进程间传递socket描述符?

我试了setsockopt进行IP端口复用,不知道是不是参数有问题,仍然是不能在服务器端同时bind同一个IP+端口。
  

这个问题是此项目最后的部分了,高手帮忙啊!

|
用thread

|
你的服务器端只能一个客户连接?太夸张了吧,我的理解,新fork出来的进程创建出新的socket描述符,然后用这个新的socket进行通讯。windows下这个过程一般会用线程进行处理

|
在x86架构的CPU上运行使用的vfork()还是fork()

       vfork() is a special case of clone(2).  It is used  to  create  new
       processes  without  copying  the page tables of the parent process.
       It may be useful in  performance  sensitive  applications  where  a
       child will be created which then immediately issues an execve().

       vfork() differs from fork in that the parent is suspended until the
       child makes a call to execve(2) or _exit(2).  The child shares  all
       memory  with  its  parent,  including  the stack, until execve() is
       issued by the child.  The child must not return  from  the  current
       function or call exit(), but may call _exit().

|
uClinux 有fork限制 吧,为什么不用 pthread 呢?thread 效率高

|
从命令行参数传进去就可以。

    
 
 

您可能感兴趣的文章:

  • 嵌入式网络编程与非嵌入式网络编程有什么不同
  • 嵌入式linux网络编程的问题,大虾来接分
  • 嵌入式linux网络编程的问题
  • 请问在哪下载嵌入式Linux开发平台???想学嵌入式开发!!!
  • 有谁做过嵌入式 Linux开发?是否有嵌入式Linux的JVM?
  • 问一个弱弱的问题:做嵌入式开发,宿主机的Linux版本一定要跟目标机上的嵌入式Linux版本一致么?
  • 我怎么糊涂了:想开发嵌入式系统(目标机采用UCLINUX嵌入式操作系统),在RED HAT LINUX下开发,选用什么工具呢?QT还是qt embedded?
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • 请问什么是嵌入式数据库?(空)
  • 关于“嵌入式Linux”
  • 嵌入式系统的学习
  • 嵌入式学习方法
  • 请问:构建一个嵌入式开发环境时的疑问?
  • linux 嵌入式开发用买开发板吗?
  • 求嵌入式Linux的入门书籍!
  • 嵌入式应用开发协作系统 Yocto
  • 嵌入式系统的C运行库 Newlib
  • 嵌入式GLIBC EGLIBC
  • 驱动程序开发和嵌入式开发有什么联系吗?
  • 嵌入式 syslog
  • vc++与Linux嵌入式
  • 计算机专业学习 嵌入式可以么 ??
  • 嵌入式软件下面有哪些具体的研究方向?细分一下 求指点!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 现在LINUX主要用在哪些嵌入式设备上?
  • 嵌入式系统 Prex
  • web开发和嵌入式开发哪个更有挑战
  • 嵌入式linux 组播接收问题
  • 国内有哪些好的嵌入式公司???
  • 开源嵌入式操作系统 Contiki
  • 嵌入式Web服务器 Appweb
  • 实时嵌入式操作系统 NuttX
  • 嵌入式系统虾米意思呀?
  • Linux 用什么工具进行嵌入式开发。
  • 我想学习Linux 嵌入式开发,请大家指教
  • java 还是LINUX嵌入式???
  • 了解嵌入式开发的朋友请进!
  • 是考验还是嵌入式??
  • linux运维转linux嵌入式
  • 嵌入式GUI库 eSWT
  • 嵌入式系统考研请教?
  • ARM 嵌入式系统的仿真器 Softgun
  • Web服务器/前端 iis7站长之家
  • 关于初学嵌入式的一些问题


  • 站内导航:


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

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

    浙ICP备11055608号-3