由买买提看人间百态

topics

全部话题 - 话题: udp
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
z*******3
发帖数: 13709
1
tcp那一层有一个无状态的协议udp
但是一般比较少用udp
http因为可以用session和cookie来保存状态,搞session tracking
一旦过期就干掉,腾出内存空间
这种介于有状态和无状态之间的过渡方式更容易让群众接受
b***i
发帖数: 3043
2
再具体给你说一下初学者我的例子吧
有个设备用计算机控制,计算机把它的状态每秒钟一次显示的屏幕上,是温度,压强。
现在,你的老板说,他希望在家里用iPhone上看到这个状态的刷新。
用什么技术?蓝牙?serial port?tcp?udp?都太麻烦,用web service就可以了.
在这个控制设备的计算机上,程序将温度和压强的结果字符串(包括{})传给一个你自
己设计的网站
{T:110.5C, P:14.7psi}
就是post这个字符串到URL:http://www.myweb.com/acceptdata这个java servet那里去,java servlet收到结果,更新数据库或者memCache,
然后httpL://www.myweb.com的根目录是index.html,里面包括AJAX的Javascript代码
利用另一个servlet来获得当前的温度和压强,然后每秒钟一次刷新到html里面,而不
用reload整个网页。这个另外的servlet是响应get,从数据库或者memCache里面读取温
度和压强信息。或者你同一个servlet,反正一个post,一个get... 阅读全帖
p**i
发帖数: 688
3
来自主题: Linux版 - 问个远程唤醒机器的问题
如果你只需要WOL, 也不一定非得刷router. WOL用的是UDP port 9 (discard service
), 我以
前的dlink router都是forward WAN udp port 9 to LAN 255.255.255.255 port 9
during
business hours. 机器都设成wake up by magic packets. 然后从外面向router的WAN
IP发
packet就成了 http://gsd.di.uminho.pt/jpo/software/wakeonlan/

ssh/
q*****g
发帖数: 1568
4
来自主题: Linux版 - cygwin的替代软件?
SSH tunneling is great, but it doesn't know how to forward UDP packets.
As a results, applications rely on UDP, such as XDMCP can't be tunneled.
i*****o
发帖数: 1714
5
来自主题: Linux版 - 泥马坑爹的tcp stack的作者
这个问题已经解决了, 就是改一下ip route default initcwnd, default是3,我改
成20就好了。
关于这个问题的根源我已经说过, 就是linux上对tcp slow start的实现没有按通常的
要求去做。tcp slow start是为了避免congestion,省的一个新的session来了以后,
一下子传太多造成没有必要的drop frame和retransmission。公认的实现是start with
3x mss。就是说ethernet上可以一下子送1500*3 = 4500字节。4500字节对我来说就
是90个voice packet(差不多两秒的通话)足够用的了。可linux上写这个程序的人偷
懒,把slow start定义为start with 3 packets,不管这个packet里有多少字节。这样
我的应用就被卡注了。想想3g network round trip delay差不多在60ms-200ms之间,
200ms就是10个voice packet,可linux只给3个packet,所以就不断的drop frame(
voic... 阅读全帖
S*A
发帖数: 7142
6
来自主题: Linux版 - VPN有好的解决方案吗?
udp 也封杀,我用 udp 成了一小会然后就不行了。
a****n
发帖数: 230
7
来自主题: Programming版 - 我也请问一个multi-thread的问题
目前做一个real time的股票trading book系统,具体就是用UDP协议从市场读进data,然
后unpack,然后做filter,然后构建一个trading book.
data->unpack->filter->make book
其中信息的顺序和完整性很重要,可是可恶的udp会丢失一些数据,只能过后发request要
丢失的数据,来了的又不能让等着(超不多几个微秒一个数据包),其实丢失的概率也就是
百万分之一的机会...,但是关系重大,不能忽视. 代价就是filter要花很长一段时间(
20ms),然后做这个Book也要花~80ms. ( 重建的filter基本干得就是search的工作,我差
不多都用了hash-table 0(n),或者大家有更好的算法....)
我按照上面的箭头每一步做了一个thread,然后之间做Buffer承接,结果可像而知,越到
后面的步骤越慢,buffer过了一段时间就会暴掉memory.难道只能靠多买些physical
memory吗?
第一次开发一个软件,out of memory问题还是无法解决.希望哪位有经验的大侠给点意
见...
a****n
发帖数: 230
8
来自主题: Programming版 - 我也请问一个multi-thread的问题
Actually they offer tcp/ip also, but I guess it is slower compared to udp,
right?
You have experience with udp before? thanks.
b***y
发帖数: 2799
9
来自主题: Programming版 - 我也请问一个multi-thread的问题
你要好好研究一下,瓶颈在哪里, 是在UDP纠错,还是在后面MAKEBOOK慢.
如果在UDP,那MAKEBOOK是非要等待吗?完全正确的包,是不是可以先算.
如果在MAKEBOOK,那就要改进算法,升级硬件.
如果你的硬件是瓶颈,再多线程也没用.
g*****g
发帖数: 34805
10
来自主题: Programming版 - 我也请问一个multi-thread的问题
单个包很重要,就不该用udp,udp主要用在音频,视频这种
可以容错的应用上。
m***t
发帖数: 254
11
来自主题: Programming版 - 我也请问一个multi-thread的问题
the original post does not make much sense to me. so
udp connection -> unpack -> filter -> makebook,
so if there is error in udp packet, you donot clear the buffer till the new
response comes in to correct the error? then thread stack overflow happens
at unpack stage?
if i were you i will test first part first. given If that does not give you
problem, i think it might be you are not dequeing thread buffer incorrectly
at latter stages.
a****l
发帖数: 8211
12
来自主题: Programming版 - 我也请问一个multi-thread的问题
所以说,"一将无能,累死千军"。数据的顺序和完整性(好象还有时间限制?)都很重要
还用UDP?我真怀疑你们的Architect是不是不知道UDP和TCP的区别。至少在设计上早就
应该考虑到丢包的解决方法了。
o*******i
发帖数: 396
13
根据WirelessLAN的特性,
建议
1: 调整包大小。用小包比用大包robustness腔很多
2. enable你的RTS/CTS,别人会被强制闭嘴
3.UDP比TCP带宽占用强,你的application主要是UDP的话你不怕啊。
P********l
发帖数: 452
14
来自主题: Programming版 - 好虫,看看你的东东有没有问题?
udp是无连接,不是无状态.
如果控制请求的字节长度. tcp的功能与udp相比就成了累赘. 剩下的丢包和重复可以在
application里解决.
魏老师对现有的系统效率不高很愤怒.
你对别人不遵守你的知识很愤怒.
g*****g
发帖数: 34805
15
来自主题: Programming版 - 好虫,看看你的东东有没有问题?
利用udp可以做到可靠, 但这是靠aplication layer ack来做到的。
现成的实现有jgroups之类。可惜魏老师就知道吹,号称整个系统一两万行。光
他说的这udp可靠传输,一两万行就出去了。
S*A
发帖数: 7142
16
因为我最近在 hack 这个 Pogoplug V4 mobile。我顺便帮
你看了以下。
我从 UBoot 上面去掉了 serial cosole。这个是 dmesg。
时钟初始化是在 12 妙开始, 并不是 Linux 真正启动了 12 妙。
所以走到 systemd 启动也才 3.5 秒钟。注意其中有 USB 硬盘
访问,因为那个 rootfs 是在 USB 上面。仔细看 demsg,去掉
USB 硬盘访问,去掉 SATA 寻找硬盘,去掉 Ethernet 寻找
Link 的时间,剩下初始化应该就在 2 秒钟以内了。这个 3.5
秒钟很多时间是在和 USB storage 的东西相关。你只要
rootfs 不在 USB flash 上面,这些都可以启动的时候不做。
所以 2 秒钟启动应该是可以的,不需要特别多定制。
基本上改改 kernel config 或者启动参数就可以了。
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ ... 阅读全帖
S*A
发帖数: 7142
17
因为我最近在 hack 这个 Pogoplug V4 mobile。我顺便帮
你看了以下。
我从 UBoot 上面去掉了 serial cosole。这个是 dmesg。
时钟初始化是在 12 妙开始, 并不是 Linux 真正启动了 12 妙。
所以走到 systemd 启动也才 3.5 秒钟。注意其中有 USB 硬盘
访问,因为那个 rootfs 是在 USB 上面。仔细看 demsg,去掉
USB 硬盘访问,去掉 SATA 寻找硬盘,去掉 Ethernet 寻找
Link 的时间,剩下初始化应该就在 2 秒钟以内了。这个 3.5
秒钟很多时间是在和 USB storage 的东西相关。你只要
rootfs 不在 USB flash 上面,这些都可以启动的时候不做。
所以 2 秒钟启动应该是可以的,不需要特别多定制。
基本上改改 kernel config 或者启动参数就可以了。
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ ... 阅读全帖
S*A
发帖数: 7142
18
来自主题: Programming版 - AWS S3 200G 数据 upload【请教】
看了一下,简单 blast UDP packet 是不行的。
这个关键是要 figure out 带宽到底是多少。然后需要
带宽控制比实际允许带宽稍微慢一点点。
有谁可以确认一下哪个 FASP 协议是用 多少 TCP vs UDP 的?
S*A
发帖数: 7142
19
来自主题: Programming版 - AWS S3 200G 数据 upload【请教】
http://asperasoft.com/technology/transport/fasp/fasp-security-m
Aspera transfers use one TCP port for session initialization and control
, and one UDP port for data transfer.
Concurrent transfers on Windows require a range of UDP ports because
Windows does not allow the use one port for multiple connections.
z****e
发帖数: 54598
20

xmpp就是典型的
tcp+http+xml,这三层压下去,基本上黄花菜都凉了
如果是自己做的话,直接udp就好了,反正丢掉包无所谓
聊天的话,完全可以牺牲msg质量以保证时效的
我最早在大学做的一个聊天室就是udp
z****e
发帖数: 54598
21
一般游戏用web service的话,over head太重
越是对反应时效有需求的游戏,越不应该使用ws
一般web无所谓,慢就慢一点,反正每s刷不了几次
但是游戏类的很多要求短时间内多次刷新,所以要求很高
overhead要控制,一般来说
udp的overhead < tcp < http < restful web service < soap
所以大量游戏用udp来搞,省去各种包装
z*******3
发帖数: 13709
22
来自主题: Programming版 - 游戏的后端用什么工具?

我现在就着手准备real time networking gaming了
一天到晚在udp,uint8,byte这些里面沉浮
不过就我观察,除了游戏,其他大多数应用,比如web,一般的social app这些
多数都是走tcp那条路,http,websocket这些都是tcp的
而只有vert.x这种才比较好地支持了udp,其他的多数都只考虑到了tcp
tcp的三次握手很恶心,属于脱裤子放屁
z*******3
发帖数: 13709
23
来自主题: Programming版 - 游戏的后端用什么工具?

自己来,2d的话不需要多复杂的opengl啥的
我都已经写好了
swift用sprite kit
android的基础框架网络上到处是教程,用surfaceview
唯一一个麻烦点的就是swift的udp连接
这个用
http://github.com/swiftsocket/SwiftSocket
一个老中写的swiftsocket,支持udp&tcp
加5个文件到你project中去便可
z****e
发帖数: 54598
24
来自主题: Programming版 - swift用了一个月有感
多谢知会哈,我去看看,官方搞个udp/tcp的core lib有啥难的
不知道为啥一直不搞,几分钟就搞定的事,http是比较扯蛋
但是udp/tcp还是经常需要用的
z****e
发帖数: 54598
25
servlet从来就不是给web service用的
是给浏览器web page用的
你也可以模拟一个http request,发送给servlet
然后接收response,然后去parse,head/body
然后进一步parse body里面的内容
但是这样搞多此一举,最简单的方式就是直接上socket
udp/tcp,vert.x可以直接监听tcp/udp,官方有教程
z*******3
发帖数: 13709
26
来自主题: Programming版 - vert.x v3发布了
vert.x最有趣的就是想怎么做就怎么做
比如有人为了vert.x 3做了typescript的语言support
https://github.com/michel-kraemer/vertx-lang-typescript
还有人正在做php的vert.x 3的support
社区有人提议过做lua的support,不过这些语言都比较小众
除了第一个以外,其他两个都缺人投入
官方语言支持,在3.1可能会加入
clojure
scala
python
和ceylon
客户端方面,除了自己倒腾tcp,udp,http这些以外
目前vert.x bus的客户端有c++版本
我看了下,好像bus通信用的是websocket
算了,这个协议不熟悉,还是直接用udp吧,省得麻烦
听说fb用这个协议比较多
vert.x最好一点就是,无论它做什么
都留下来足够的余地让你自由选择
比如做web,光一个html template
就可以选择
Handlebars
Jade,
MVEL
Thymeleaf
这样你熟悉哪个,就可以用哪个
就很像eclipse当年成功的经验,它只做一些基本的功能
剩下的东西... 阅读全帖
z*******3
发帖数: 13709
27
来自主题: Programming版 - 热门技术系统学习,求指导
那就这样吧
先把vert.x搞清楚
搞明白了vert.x,你就至少弄明白了async和thread pool
然后进阶,把streaming给搞明白
这个vert.x中也有
然后琢磨清楚vert.x是如何对付udp, tcp, http, websocket这几块的
话说websocket真垃圾,用的是http 1.1的协议,http2比1强太多
2就适合用来搞streaming了
这就是网络,网络不需要特别底层,但是从tcp,udp/ip以上就需要你最好弄清楚
然后把web service大概弄弄,会用到json和xml
这是网络,切记,结合vert.x去搞,看看vert.x是怎么搞的
vert.x的文档例子都很全面,遇到不懂的,查,问,发邮件问你以前大学的叫兽
想办法搞懂
这是网络部分
然后数据部分,这个没那么容易
先把paxos和cap搞懂,各种trade off琢磨清楚
paxos太理论,而且故弄玄虚,搞懂raft,想明白为什么raft那样搞
这个比较实际,然后弄明白cassandra以及hdfs,弄清楚这两个跟一般的rdbms有什么区别
区别点从join和transactio... 阅读全帖
z****e
发帖数: 54598
28

具体什么协议啊?
node要用udp就直接看udp
要tcp就tcp
b***i
发帖数: 3043
29
我要用C++写一个程序作成一个service/daemon,希望用户手动创建一个虚拟网卡,或
者帮用户,通过系统调用来创建一个。这个如何做?
然后,假定,用户设定这个地址是192.168.255.0。然后用户程序可以通过TCP 0来给这
个service/daemon设定。我的目的是,让用户程序通过TCP/IP(包括UDP)来跟串口进行
通信,甚至跟USB通信,这样可以绕过java不包含官方串口api这个问题。
那么,为了打开并发送数据到COM1,用户通过TCP 192.168.255.0:0来设定,比如发送
OPEN COM1 as 565,然后读取返回信息,如果成功,用户可以通过发送UDP给192.168.
255.0:565来实现给串口COM1发送数据。
我想问的是,这个东西怎么设计?是驱动程序吗?还是一个用户级程序?这些硬件COM
都是独立的,他们已经在系统里了。
f****n
发帖数: 399
30
太复杂了,java有包可以支持串口通信,我以前做过一个java的收款客户端,就是用串
口打印机,并口也支持。
如果要用C做一个proxy绑定一个UDP端口,数据在串口和UDP端口之间转就行。

COM
z****e
发帖数: 54598
31
来自主题: Programming版 - nodejs cluster和vert.x比较怎么样?

assigned
vertx
差不多是这样滴
by default,vert.x会启动多个threads,根据你具体的cores来建
但是,一个verticle,只能被一个thread执行,在同一个时间点
所以如果你只写了一个verticle,然后启动vert.x去用这个verticle去listen某一个
port
那么虽然vert.x启动了多个threads,但是这个verticle只能被一个thread所执行
所以瓶颈就发生在这里,因为一个thread独占了这个verticle,其他threads就只能干
瞪眼了
也做不了什么事,所以这个时候,需要直接scale out,根据core数量
部署相同数量的verticles,这样多个threads就可以同时listen同一个port了
这个在v3文档中有很清晰的描写
DeploymentOptions options = new DeploymentOptions().setInstances(16);
vertx.deployVerticle("com.mycompany.MyOrderProcessorVerticle", o... 阅读全帖
z****e
发帖数: 54598
32

是啊,这些东西都略微heavy了一点
而且不够灵活
比如udp,nosql,支持就不好了
udp怎么看都需要netty系的产品,比如netty, vert.x这些
nosql怎么看也都不怎么需要orm
c*********e
发帖数: 16335
33
来自主题: Programming版 - 目测mongodb要跟postgresql正面对决了
ip phone用的也是udp.想想cisco ip phone.
没想到udp其实应用范围还挺广的。
z****e
发帖数: 54598
34
来自主题: Programming版 - 各路大神推荐个linux上的组合吧
另外说点协议,扯点app
app所用的协议,不应该用http
http是给website用的
传输面说,你每次握手三次,脱裤子放屁
封装面说,非要搞成json,很烦诶,直接byte stream
很搞笑的是,有些人用了半死async和ap系统
就是为了节省反应时间,那既然如此
你为啥非要弄http呢?
我搞个pvp的游戏,33ms需要完成发送,传输,parse后展示这么一系列动作
主要消耗都在io上了,剩下根本没有时间来握手+parse
所以我就是udp+byte stream裸写
gc相比之下不是问题,一次gc不过11-15ms,小意思了
只要没事别狂造objects就行,就是因为需要复用objects
所以不用fp,因为fp的immutable贼浪费
异步,ap系统,udp,byte stream,最后控制gc次数
基本上就用这些方式把速度逼到极致,勉强控制在20ms以内完成
网速慢的话,就只能跳帧了
z****e
发帖数: 54598
35
来自主题: Programming版 - 各路大神推荐个linux上的组合吧

看了下,google的cloud也提供udp啊
$ gcloud compute firewall-rules create internal --network example-network
--source-ranges 10.240.0.0/16 --allow tcp,udp,icmp
https://cloud.google.com/compute/docs/networking?hl=en
你们为什么非要锁死在http上不可?
当然锁定http相对容易很多
c*********e
发帖数: 16335
36
来自主题: Programming版 - 请教大牛们这个系统怎么设计
"必要的时候可以自己在UDP上写个小protocol用。"为啥不是写个tcp而是udp?
你是用什么语言写的小protocol?

chip。
z****e
发帖数: 54598
37
vert.x有着良好的延展性
可以短时间内就做出来一个pvp的server
其它就更容易了,而且可以自由选择协议
反正cloud和ios都不会禁你用各种端口和协议
你没有必要死绑在http上,各种parse非常浪费时间
tcp首先要三次握手了,然后解析http header
然后里面不管是json还是xml
你都要parse,这三层下去黄花菜都凉了,还real time个p
一个udp+byte stream,搞定
直接parse byte stream,一个byte一个byte parse过去
效率是最高的,ios那个swift socket极为简单
就四个文件,整个拷贝进你的project就好了
然后就可以用了,支持udp和tcp,大部分用户用这些都是用来跟java socket连接的
做了这些,你再回头看http,就觉得索然无味,好无聊啊
然后vert.x提供了各种接口,你就可以focus在真正要实现的逻辑上了
同样ios也提供了sprite kit,开发测试都很容易
有了这两个神器,完全可以放开手脚开发
我现在写的都是自己想要写的代码,根本不需要浪费时间在网络和服务器上
而且直... 阅读全帖
W***o
发帖数: 6519
38
最近看了一下vert.x 试着玩了一下udp,感觉不错。但是感觉Go的udp更好用一些,而
且concurrency是强项
z****e
发帖数: 54598
39
另外,udp的节省就要有意义
如果随意打断的话,就没有意义了
我用udp还是用eventloop和worker模式
worker负责发,eventloop负责收
收发分离之后,基本上就能满足pvp的需要了
收无所谓,因为收发分离,所以发可以用一个worker thread循环发送
这样能够保证每33ms发送一次数据包
16ms在路上,最后16ms左右renderring
差不多可以搞定,如果收发不分离
无论如何,都会吃掉一定性能
如果这样的话,还不如不用sync方式,回去用tcp好了
所以我不用quasar
z****e
发帖数: 54598
40
uber我倒是没用过,不知道界面怎样
不过uber的prototype可以有这几个部分
一个是app,sprit kit快速出原型,如何保证app和server之间的一致
据说他们做的是real time系统,嗯,很有趣
我建议用udp协议
然后下一步是服务器,找个cloud上vert.x,直接监听udp port
payment部分找个payment gateway的api来用
大概是这么多,主要是不懂uber做成了什么样子,所以无法深入
h**h
发帖数: 132
41
来自主题: Security版 - Re: Can I use nmap if I am not a root?
Have you tried installing nmap on Solaris?
did you ever make it work to scan udp port?
I was only able to run udp scan off linux box
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)