社区
网络编程
帖子详情
菜鸟提问,关于udp socket复用
cool_ice
2006-08-16 11:24:34
建立一个udp写的服务端socket,在某端口侦听,接收包并进行逻辑处理后,发送回头,为了提高效率想做成多线程的,将接收和发送包分开。请问同个udp socket,能不能在一个线程中专门发送,另外一个线程专门接收??
有没有更好的方法来提高效率?
谢谢各位大虾啦!
...全文
281
14
打赏
收藏
菜鸟提问,关于udp socket复用
建立一个udp写的服务端socket,在某端口侦听,接收包并进行逻辑处理后,发送回头,为了提高效率想做成多线程的,将接收和发送包分开。请问同个udp socket,能不能在一个线程中专门发送,另外一个线程专门接收?? 有没有更好的方法来提高效率? 谢谢各位大虾啦!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cool_ice
2006-08-23
打赏
举报
回复
继续UP!
cool_ice
2006-08-20
打赏
举报
回复
udp里面有没有io复用这样的概念?
cool_ice
2006-08-20
打赏
举报
回复
那就是说一个接收,一个发送,一个做逻辑处理哦
贵子潘
2006-08-20
打赏
举报
回复
只要计算过程不太复杂,用一个线程来处理就差不多了
我们的程序也是这样设计的,客户端有几十万吧。而且是一秒内就会接受到几千个包
运行得也很好...
cool_ice
2006-08-20
打赏
举报
回复
OK,看来自己的思路没有偏离正确的道路,那应该没有问题了!!!
谢谢楼上的!
mynamelj
2006-08-19
打赏
举报
回复
但我使用UDP协议这么久以来一直都是用一个线程专门接收和处理..而用别一个线程专门来发送数据..目前也没发现有什么问题.
------------------------
你这样的方法效率一定不高.一个线程接收和处理,就是说当第一处理完成后才能接收下一个.
用一个线程专门发送数据..好像这个线程的工作也太轻松了吧.
绝缘
2006-08-19
打赏
举报
回复
具体UDP协议上是怎么说的我不太清楚.也不知道和硬件有没有关系.但我使用UDP协议这么久以来一直都是用一个线程专门接收和处理..而用别一个线程专门来发送数据..目前也没发现有什么问题.
绝缘
2006-08-19
打赏
举报
回复
to mynamelj(风之羽翼):
谢谢你的提醒,"一个线程专门接收和处理",在处理过程中.当遇到很复杂的计算时,我都会再开一个线程来计算.并不会影响接收线程的.
cool_ice
2006-08-18
打赏
举报
回复
csdn现在人气怎么这么低?还是高手太少...哎!
cool_ice
2006-08-17
打赏
举报
回复
是的,我准备做一个线程专门来接收,一个线程专门来发送,一个线程池专门来做逻辑处理,
接收到的包放在一个同步队列中,由逻辑处理线程池做完处理以后,放在待发送同步队列中,然后由发送线程来发送。这样的结构效率应该可以。
但是如果客户端非常多,可能这种效率还是不够。
不知道有没有更好的方法?!
cool_ice
2006-08-17
打赏
举报
回复
楼上的大侠什么意思?
DentistryDoctor
2006-08-17
打赏
举报
回复
UDP,这些都没必要.
cool_ice
2006-08-17
打赏
举报
回复
upup!
mynamelj
2006-08-16
打赏
举报
回复
如果网络全双工则不需要做同步处理
发送和接收几呼是很快的,关键是看你的数据处理过程.
你可以使用一个队列来缓冲收取的UDP包,这样你就不必要等处理完后再接收,注意在队中要使用同步处理.处理完成后立即发送出去.
Python从
菜鸟
到高手系列专题(下)
本专题包含了10个课程,涵盖了Python语言的部分,包括Python正在表达式、Python常用模块、Python文件和流、Python数据存储、TCP和
UDP
编程、Urllib3、Twisted、FTP、EMail、多线程、Tkinter、PyQt5、测试等。
Socket
-
UDP
快速入门
Socket
-
UDP
快速入门
UDP
是什么 英语:User Datagram Protocol,缩写为
UDP
。 一种用户数据报协议,又称用户数据报文协议。 是一个简单的面向数据报的传输层协议,正式规范为 RFC 768。 用户数据协议、非连接协议。...
Python
菜鸟
之路:Python基础-
Socket
编程-2
在上节
socket
编程中,我们介绍了一些TCP/IP方面的必备知识,以及如何通过Python实现一个简单的
socket
服务端和客户端,并用它来解决“粘包”的问题。本章介绍网络编程中的几个概念:多线程、多进程以及网络编程IO模型...
使用
UDP
实现广播-使用 setsockopt 设置发送端允许发送广播权限-传输层
目录使用
UDP
实现广播概念广播的用处广播的流程使用 setsockopt 设置允许发送广播权限代码实现接收端—01receive.c发送端—02send.c执行结果注意6.非原创 使用
UDP
实现广播 概念 只有用户数据报(
UDP
协议)套接字才能...
I/O多路
复用
简要笔记
创建
Socket
可以指定网络层使用IPv4或者IPv6,传输层使用TCP或者
UDP
。 基于TCP的
Socket
编程: 服务器的程序要先跑起来,然后等待客户端的连接和数据。 服务器端的
Socket
编程过程: 服务器首先调用socke
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章