Mombu the Php Forum

Go Back   Mombu the Php Forum > Php > multicast support (ext/sockets)
User Name
Password
REGISTER NOW! Mark Forums Read




Reply
1 23rd September 11:09
daniel@rozsnyo.com (daniel
External User
 
Posts: 1
Default multicast support (ext/sockets)



--------------000705010406050104010304
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hello,

Last year I've made a patch for full multicast support and I think it
might be useful for others. Can somebody check if the implementation is
correct (especially handling of params/args) and then include it to
official source code?


I have no idea however how and if it does compile on Win32 or BSD,
maybe some IFDEF will be needed. I use only gentoo linux where it does work.

Daniel

--------------000705010406050104010304
Content-Type: text/plain;
name="php5-ext-sockets-multicast.patch"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="php5-ext-sockets-multicast.patch"

LS0tIHBocC01LjEuNC9leHQvc29ja2V0cy9zb2NrZXRzLmMJMj AwNi0wNC0wNyAxNjowNDoz
Ni4wMDAwMDAwMDAgKzAyMDAKKysrIHBocC01LjEuNC1tYy9leH Qvc29ja2V0cy9zb2NrZXRz
LmMJMjAwNi0wNi0xNiAxOToyMjowNS4wMDAwMDAwMDAgKzAyMD AKQEAgLTE2LDYgKzE2LDcg
QEAKICAgIHwgICAgICAgICAgU3RlcmxpbmcgSHVnaGVzICA8c3 RlcmxpbmdAcGhwLm5ldD4g
ICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgfCAgICAgIC AgICBKYXNvbiBHcmVlbmUg
ICAgIDxqYXNvbkBwaHAubmV0PiAgICAgICAgICAgICAgICAgIC AgICAgICAgICB8CiAgICB8
IFdpblNvY2s6IERhbmllbCBCZXVsc2hhdXNlbiA8ZGFuaWVsQH BocDR3aW4uZGU+ICAgICAg
ICAgICAgICAgICAgICAgIHwKKyAgIHwgTUNBU1Q6ICAgRGFuaW VsIFJvenNueW8gPGRhbmll
bEByb3pzbnlvLmNvbT4gICAgICAgICAgICAgICAgICAgICAgIC AgfAogICAgKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS 0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0rCiAgKi8KIApAQCAtNDgyLDYgKzQ4MywxNCBAQA ogCVJFR0lTVEVSX0xPTkdf
Q09OU1RBTlQoIlBIUF9OT1JNQUxfUkVBRCIsIFBIUF9OT1JNQU xfUkVBRCwgQ09OU1RfQ1Mg
fCBDT05TVF9QRVJTSVNURU5UKTsKIAlSRUdJU1RFUl9MT05HX0 NPTlNUQU5UKCJQSFBfQklO
QVJZX1JFQUQiLCBQSFBfQklOQVJZX1JFQUQsIENPTlNUX0NTIH wgQ09OU1RfUEVSU0lTVEVO
VCk7CiAKKwkvKiBNdWx0aWNhc3QgKi8KKwlSRUdJU1RFUl9MT0 5HX0NPTlNUQU5UKCJJUFBS
T1RPX0lQIiwJCQlJUFBST1RPX0lQLAkJCUNPTlNUX0NTIHwgQ0 9OU1RfUEVSU0lTVEVOVCk7
CisJUkVHSVNURVJfTE9OR19DT05TVEFOVCgiSVBfTVVMVElDQV NUX0xPT1AiLAkJSVBfTVVM
VElDQVNUX0xPT1AsCUNPTlNUX0NTIHwgQ09OU1RfUEVSU0lTVE VOVCk7CisJUkVHSVNURVJf
TE9OR19DT05TVEFOVCgiSVBfTVVMVElDQVNUX1RUTCIsCQlJUF 9NVUxUSUNBU1RfVFRMLAlD
T05TVF9DUyB8IENPTlNUX1BFUlNJU1RFTlQpOworCVJFR0lTVE VSX0xPTkdfQ09OU1RBTlQo
IklQX01VTFRJQ0FTVF9JRiIsCQlJUF9NVUxUSUNBU1RfSUYsCU NPTlNUX0NTIHwgQ09OU1Rf
UEVSU0lTVEVOVCk7CisJUkVHSVNURVJfTE9OR19DT05TVEFOVC giSVBfQUREX01FTUJFUlNI
SVAiLAkJSVBfQUREX01FTUJFUlNISVAsCUNPTlNUX0NTIHwgQ0 9OU1RfUEVSU0lTVEVOVCk7
CisJUkVHSVNURVJfTE9OR19DT05TVEFOVCgiSVBfRFJPUF9NRU 1CRVJTSElQIiwJSVBfRFJP
UF9NRU1CRVJTSElQLAlDT05TVF9DUyB8IENPTlNUX1BFUlNJU1 RFTlQpOworCiAjaWZuZGVm
IFdJTjMyCiAjIGluY2x1ZGUgInVuaXhfc29ja2V0X2NvbnN0YW 50cy5oIgogI2Vsc2UKQEAg
LTE1MjQsNiArMTUzMyw5IEBACiAJc29ja2xlbl90CQlvcHRsZW 47CiAJcGhwX3NvY2tldAkJ
KnBocF9zb2NrOwogCWludAkJCQlvdGhlcl92YWw7CisJdV9jaG FyCQkJb3RoZXJfdmFsX3Vf
Y2hhcjsKKwlzdHJ1Y3QgaW5fYWRkcglvdGhlcl92YWxfaW5fYW RkcjsKKwljaGFyKgkJCW90
aGVyX3ZhbF9zdHJpbmc7CiAJbG9uZwkJCQlsZXZlbCwgb3B0bm FtZTsKIAogCWlmICh6ZW5k
X3BhcnNlX3BhcmFtZXRlcnMoWkVORF9OVU1fQVJHUygpIFRTUk 1MU19DQywgInJsbCIsICZh
cmcxLCAmbGV2ZWwsICZvcHRuYW1lKSA9PSBGQUlMVVJFKQpAQC AtMTU3Myw2ICsxNTg1LDMx
IEBACiAJCQlhZGRfYXNzb2NfbG9uZyhyZXR1cm5fdmFsdWUsIC J1c2VjIiwgdHYudHZfdXNl
Yyk7CiAJCQkKIAkJCWJyZWFrOworCisJCS8qIE11bHRpY2FzdC AqLworCQljYXNlIElQX01V
TFRJQ0FTVF9MT09QOgorCQljYXNlIElQX01VTFRJQ0FTVF9UVE w6CisJCQlvcHRsZW4gPSBz
aXplb2Yob3RoZXJfdmFsX3VfY2hhcik7CisJCQkKKwkJCWlmIC hnZXRzb2Nrb3B0KHBocF9z
b2NrLT5ic2Rfc29ja2V0LCBsZXZlbCwgb3B0bmFtZSwgKGNoYX IqKSZvdGhlcl92YWxfdV9j
aGFyLCAmb3B0bGVuKSAhPSAwKSB7CisJCQkJUEhQX1NPQ0tFVF 9FUlJPUihwaHBfc29jaywg
InVuYWJsZSB0byByZXRyaWV2ZSBzb2NrZXQgb3B0aW9uIiwgZX Jybm8pOworCQkJCVJFVFVS
Tl9GQUxTRTsKKwkJCX0KKworCQkJUkVUVVJOX0xPTkcob3RoZX JfdmFsX3VfY2hhcik7CisK
KwkJY2FzZSBJUF9NVUxUSUNBU1RfSUY6CisJCQlvcHRsZW4gPS BzaXplb2Yob3RoZXJfdmFs
X2luX2FkZHIpOworCQkJCisJCQlpZiAoZ2V0c29ja29wdChwaH Bfc29jay0+YnNkX3NvY2tl
dCwgbGV2ZWwsIG9wdG5hbWUsIChjaGFyKikmb3RoZXJfdmFsX2 luX2FkZHIsICZvcHRsZW4p
ICE9IDApIHsKKwkJCQlQSFBfU09DS0VUX0VSUk9SKHBocF9zb2 NrLCAidW5hYmxlIHRvIHJl
dHJpZXZlIHNvY2tldCBvcHRpb24iLCBlcnJubyk7CisJCQkJUk VUVVJOX0ZBTFNFOworCQkJ
fQorCQkJCisJCQlvdGhlcl92YWxfc3RyaW5nID0gaW5ldF9udG 9hKG90aGVyX3ZhbF9pbl9h
ZGRyKTsKKworCQkJUkVUVVJOX1NUUklORyhvdGhlcl92YWxfc3 RyaW5nLDEpOworCiAJCWRl
ZmF1bHQ6CiAJCQlvcHRsZW4gPSBzaXplb2Yob3RoZXJfdmFsKT sKIAkJCQpAQCAtMTU4Nyw3
ICsxNjI0LDcgQEAKIH0KIC8qIH19fSAqLwogCi0vKiB7e3sgcH JvdG8gYm9vbCBzb2NrZXRf
c2V0X29wdGlvbihyZXNvdXJjZSBzb2NrZXQsIGludCBsZXZlbC wgaW50IG9wdG5hbWUsIGlu
dHxhcnJheSBvcHR2YWwpCisvKiB7e3sgcHJvdG8gYm9vbCBzb2 NrZXRfc2V0X29wdGlvbihy
ZXNvdXJjZSBzb2NrZXQsIGludCBsZXZlbCwgaW50IG9wdG5hbW UsIGludHxzdHJpbmd8YXJy
YXkgb3B0dmFsKQogICAgU2V0cyBzb2NrZXQgb3B0aW9ucyBmb3 IgdGhlIHNvY2tldCAqLwog
UEhQX0ZVTkNUSU9OKHNvY2tldF9zZXRfb3B0aW9uKQogewpAQC AtMTU5NSw3ICsxNjMyLDEw
IEBACiAJc3RydWN0IGxpbmdlcglsdjsKIAlzdHJ1Y3QgdGltZX ZhbCB0djsKIAlwaHBfc29j
a2V0CQkqcGhwX3NvY2s7Ci0JaW50CQkJCW92LCBvcHRsZW4sIH JldHZhbDsgCisJaW50CQkJ
CW92LCBvcHRsZW4sIHJldHZhbDsKKwl1X2NoYXIJCQlvdl91X2 NoYXI7IAorICAgIHN0cnVj
dAkJCWluX2FkZHIgb3ZfaW5fYWRkcjsKKyAgICBzdHJ1Y3QJCQ lpcF9tcmVxIG92X2lwX21y
ZXE7CiAjaWZkZWYgUEhQX1dJTjMyCiAJaW50CQkJCXRpbWVvdX Q7CiAjZW5kaWYKQEAgLTE2
MDUsMTIgKzE2NDUsMTUgQEAKIAlIYXNoVGFibGUgCQkqb3B0X2 h0OwogCXp2YWwgCQkJKips
X29ub2ZmLCAqKmxfbGluZ2VyOwogCXp2YWwgCQkJKipzZWMsIC oqdXNlYzsKKwl6dmFsIAkJ
CSoqbXVsdGlhZGRyLCAqKmludGVyZmFjZTsKIAkKIAkvKiBrZX kgbmFtZSBjb25zdGFudHMg
Ki8gICAgIAogCWNoYXIJCQkqbF9vbm9mZl9rZXkgPSAibF9vbm 9mZiI7CiAJY2hhcgkJCSps
X2xpbmdlcl9rZXkgPSAibF9saW5nZXIiOwogCWNoYXIJCQkqc2 VjX2tleSA9ICJzZWMiOwog
CWNoYXIJCQkqdXNlY19rZXkgPSAidXNlYyI7CisJY2hhcgkJCS ptdWx0aWFkZHJfa2V5ID0g
Im11bHRpYWRkciI7CisJY2hhcgkJCSppbnRlcmZhY2Vfa2V5ID 0gImludGVyZmFjZSI7CiAK
IAlpZiAoemVuZF9wYXJzZV9wYXJhbWV0ZXJzKFpFTkRfTlVNX0 FSR1MoKSBUU1JNTFNfQ0Ms
ICJybGx6IiwgJmFyZzEsICZsZXZlbCwgJm9wdG5hbWUsICZhcm c0KSA9PSBGQUlMVVJFKQog
CQlyZXR1cm47CkBAIC0xNjY5LDYgKzE3MTIsNjcgQEAKIAkJCW 9wdF9wdHIgPSAmdGltZW91
dDsKICNlbmRpZgogCQkJYnJlYWs7CisKKwkJLyogTXVsdGljYX N0ICovCisJCWNhc2UgSVBf
TVVMVElDQVNUX0xPT1A6CisJCQljb252ZXJ0X3RvX2xvbmdfZX goJmFyZzQpOworCQkJb3Zf
dV9jaGFyID0gWl9MVkFMX1AoYXJnNCkgIT0gMDsKKworCQkJb3 B0bGVuID0gc2l6ZW9mKG92
X3VfY2hhcik7CisJCQlvcHRfcHRyID0gJm92X3VfY2hhcjsKKw kJCWJyZWFrOworCQljYXNl
IElQX01VTFRJQ0FTVF9UVEw6CisJCQljb252ZXJ0X3RvX2xvbm dfZXgoJmFyZzQpOworCQkJ
b3YgPSBaX0xWQUxfUChhcmc0KTsKKwkJCWlmIChvdjwwKSBvdj 0wOworCQkJaWYgKG92PjI1
NSkgb3Y9MjU1OworCQkJb3ZfdV9jaGFyID0gb3YgJiAweEZGOw orCisJCQlvcHRsZW4gPSBz
aXplb2Yob3ZfdV9jaGFyKTsKKwkJCW9wdF9wdHIgPSAmb3ZfdV 9jaGFyOworCQkJYnJlYWs7
CisJCWNhc2UgSVBfTVVMVElDQVNUX0lGOgorCQkJY29udmVydF 90b19zdHJpbmdfZXgoJmFy
ZzQpOworCQkJaWYgKCFpbmV0X2F0b24oWl9TVFJWQUxfUFAoJm FyZzQpLCAmb3ZfaW5fYWRk
cikpIHsKKwkJCQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTU xTX0NDLCBFX1dBUk5JTkcs
ICJjb3VsZCBub3QgY29udmVydCBvcHR2YWwgdG8gaW5ldF9hZG RyIiApOworCQkJCVJFVFVS
Tl9GQUxTRTsKKwkJCX0KKworCQkJb3B0bGVuID0gc2l6ZW9mKG 92X2luX2FkZHIpOworCQkJ
b3B0X3B0ciA9ICZvdl9pbl9hZGRyOworCQkJYnJlYWs7CisJCW Nhc2UgSVBfQUREX01FTUJF
UlNISVA6CisJCWNhc2UgSVBfRFJPUF9NRU1CRVJTSElQOgorCQ kJY29udmVydF90b19hcnJh
eV9leCgmYXJnNCk7CisJCQlvcHRfaHQgPSBIQVNIX09GKGFyZz QpOworCisJCQlpZiAoemVu
ZF9oYXNoX2ZpbmQob3B0X2h0LCBtdWx0aWFkZHJfa2V5LCBzdH JsZW4obXVsdGlhZGRyX2tl
eSkgKyAxLCAodm9pZCAqKikmbXVsdGlhZGRyKSA9PSBGQUlMVV JFKSB7CisJCQkJcGhwX2Vy
cm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLC Aibm8ga2V5IFwiJXNcIiBw
YXNzZWQgaW4gb3B0dmFsIiwgbXVsdGlhZGRyX2tleSk7CisJCQ kJUkVUVVJOX0ZBTFNFOwor
CQkJfQorCQkJCisJCQljb252ZXJ0X3RvX3N0cmluZ19leChtdW x0aWFkZHIpOworCQkJCQor
CSAgICAJaWYgKCFpbmV0X2F0b24oWl9TVFJWQUxfUFAobXVsdG lhZGRyKSwgJihvdl9pcF9t
cmVxLmltcl9tdWx0aWFkZHIpKSkgeworCQkJCXBocF9lcnJvcl 9kb2NyZWYoTlVMTCBUU1JN
TFNfQ0MsIEVfV0FSTklORywgImNvdWxkIG5vdCBjb252ZXJ0IG 9wdHZhbFttdWx0aWFkZHJd
IHRvIGluZXRfYWRkciIgKTsKKwkJCQlSRVRVUk5fRkFMU0U7Ci sJCQl9CisJCQkKKwkJCWlm
ICh6ZW5kX2hhc2hfZmluZChvcHRfaHQsIGludGVyZmFjZV9rZX ksIHN0cmxlbihpbnRlcmZh
Y2Vfa2V5KSArIDEsICh2b2lkICoqKSZpbnRlcmZhY2UpID09IE ZBSUxVUkUpIHsKKwkJCQlv
dl9pcF9tcmVxLmltcl9pbnRlcmZhY2Uuc19hZGRyID0gaHRvbm woSU5BRERSX0FOWSk7CisJ
CQl9IGVsc2UgeworCQkJCWNvbnZlcnRfdG9fc3RyaW5nX2V4KG ludGVyZmFjZSk7CisKKyAg
ICAJCQlpZiAoIWluZXRfYXRvbihaX1NUUlZBTF9QUChpbnRlcm ZhY2UpLCAmKG92X2lwX21y
ZXEuaW1yX2ludGVyZmFjZSkpKSB7CisJCQkJCXBocF9lcnJvcl 9kb2NyZWYoTlVMTCBUU1JN
TFNfQ0MsIEVfV0FSTklORywgImNvdWxkIG5vdCBjb252ZXJ0IG 9wdHZhbFtpbnRlcmZhY2Vd
IHRvIGluZXRfYWRkciIgKTsKKwkJCQkJUkVUVVJOX0ZBTFNFOw orCQkJCX0KKwkJCX0KKwor
CQkJb3B0bGVuID0gc2l6ZW9mKG92X2lwX21yZXEpOworCQkJb3 B0X3B0ciA9ICZvdl9pcF9t
cmVxOworCQkJYnJlYWs7CisKIAkJZGVmYXVsdDoKIAkJCWNvbn ZlcnRfdG9fbG9uZ19leCgm
YXJnNCk7CiAJCQlvdiA9IFpfTFZBTF9QKGFyZzQpOwo=

--------------000705010406050104010304
Content-Type: text/plain; charset=us-ascii

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
--------------000705010406050104010304--
  Reply With Quote


 


Reply


Thread Tools
Display Modes




666