抱歉!我並不希望你們假日來公司加班

親愛的夥伴,我最敬愛的摯友;我不知道你們多久會來看我的Blog;或是根本不會來,但是我還是想說一些心裡的話,今天我到公司看到大家認真加班,每個人不求加薪在星期假日到公司來趕工作,那種熱情;我本該由衷感激,不過;抱歉!我必須說:我並不希望你們假日來公司加班,因為加班只是效率不佳與無法準確估算時程最佳寫照,雖然;我不是你們每個人的主管,不過我必須跟你們說:這類的加班是錯誤的,不管對公司對個人來說,都損耗了最大的成本,而且;個人也不相信趕工出來的東西;品質能夠得到任何的保障

不過我應該更精確的說明我的想法,我所指的是沒有按照計畫行事而因為要交付客戶產品時程趕不及所需要的加班,這一連兩個禮拜,我看到這種狀況真的是搖頭連連,如果我自己知道;我所要購買的產品不是按部就班完成,而是透過加班的手段來達成目標,那我會毫不遲疑的退貨,理由無他;因為工作沒有按照例行計畫施行來完成,在每個流程裡的工作者都無法確實估算他的工作流程所需時間;且無法提出保證,這代表了生產品質也面臨相同的問題->不夠精確且無法提出證明,那麼;我們該為這種例外管理上的趕工喝采嗎? 值得商榷...真正有效的管理計畫,應該要包含很多變異的因素,所以計畫本身就要包含變化,才能將不確定的因素降到最低,如此才能使經營成本得到精確的估算,保障企業經營的穩定成長,如果我們遇到的每個問題都是不確定的,那我們要如何保障股東與客戶的權益,替他們提供確實可行的願景?

公司假日仍在公司的比率,我應該數一數二,且每天從事工作相關的事務直到am 1:00,但是我絕對不願意把絲毫的時間浪費在這種無法保證自己工作效率的事務上,我寧願假日到公司心情輕鬆自在的讀我想讀的技術文件,我情願熬夜去探討怎麼寫程式會比較好或怎麼把程式更有效率的完成且如何兼顧避免錯誤的發生,如果興趣就是programming,如果因為興趣而工作需要不停的工作,那是個人選擇,除此之外;抱歉!我只能說,這種補償過錯式的加班,不值得稱許

如果;你們認同我的想法,應該深自思考甚至開會檢討,這兩個星期我們是為什麼加班? 沒準時的理由是什麼? 該怎麼改善這些缺點? 是誰沒準時把東西交出來? 是誰說哪天要給而沒給? 是不是要提早先把工作完成? 我有沒有事先提醒我的夥伴該完成那些工作? 在遇到問題時我有積極向上反應嗎? 該不該獎勵 把準時 把品質 當成第一要務的夥伴? 這樣才真的有把問題解決,否則;我只能說要靠加班趕工來彌補事前無法按部就班所犯下的錯誤,我非常不能認同,尤其是;這本來是可以提前完成的事,為何要這樣浪費資源?

msn 疑似有一個bug

因為自己在摸索msn protocol,發現msn 在做聯絡人的地方有一個bug,當第一次把某個人加入聯絡人(且對方也核准)後,雙方如果都刪除彼此(沒封鎖聯絡人,但同時刪除hotmail聯絡人);當任一方要再訂閱對方,而有拒絕過一次後,對方從此不會再收到訂閱的通知,但自己卻可以訂閱對方為聯絡人且看到對方的線上資訊,這情況跟gtalk很類似,看來;大家在實作這個程序時都留下了一些缺憾

ps.這問題並不是msn client的bug,因為msn server確實沒有傳送ADL 指令;通知對方有人請求加入聯絡人

另外; msn 裡的顯示歌曲資訊會佔用不必要頻寬,msn client勾選這個項目後,似乎每幾秒就會送出UBX 指令給所有的聯絡人,不知道當一個團體很大(數千人,而且每個人都開啟這個功能,且彼此為聯絡人)又同在相同網域下的時候,是不是有可能造成網路嚴重的負擔

msnp15 認證過程(I)

使用別人開發好的msn sdk來開發程式;真的能夠滿足你對技術的慾望嗎?以下為msn protocol v15的認證過程,msnp15大致上延續前一版的協定,但是在認證的部份改了,目前msn server 已支援msnp16,而現階段最新的msn client (msn v8.1)還在使用msnp15,要到msn v9才會開始全面支援msnp16
直接從msn protocol著手的主要理由是~這樣,才能將msn 移植到非win32的平台上,否則;微軟本身也有釋出msn sdk,它的缺點是;只能依附在有安裝msn client 的win32上,就這一點來說;msn 的政策還相當封閉,因為每次protocol升級;認證的部份幾乎都有更動,這也是從protocol著手來應用msn 最大的麻煩,不過從追蹤 撰寫msn protocol,可以學到不少東西可說是額外的收穫,msn protocol在技術上跟xmpp真的很大的落差,msn protocol顯得格外凌亂設計不良,既不結構化也談不上功能上的彈性,看起來像是非資訊背景的工程師做出來的系統,我相信當msn與yahoo在談im整合時一定相互埋怨過對方的protocol設計怎麼如此草率,這恰好凸顯了xmpp protocol 的優勢...

207.46.110.86:1863
c2s->[client to server]
s2c->[server to client]

c2s->VER 1 MSNP15 CVR0
s2c->VER 1 MSNP15

c2s->CVR 2 0x0404 winnt 5.2 i386 MSNMSGR 8.1.0178 MSFT luke_shei@hotmail.com
s2c->CVR 2 8.1.0178 8.1.0178 8.1.0178 http://msgruser.dlservice.microsoft.com/download/1/C/F/1CF776CC-90D6-4497-B079-402BA9DB8BE4/Install_Messenger.exe http://get.live.com/tc

c2s->USR 3 SSO I luke_shei@hotmail.com
s2c->GCF 0 6713
s2c->
<Policies>(省略...)</Policies>USR 3 SSO S MBI_KEY_OLD ZUzrcaa4fRluSqjOaLzc9ExfHQaoiZB4MxTjfRcmohTooJuVilSvIJ7jSy+DKBeO

此時需要使用ssl 連接 https://login.live.com/RST.srf , 並且送出認證資訊
<?xml version="1.0" encoding="UTF-8" ?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://schemas.xmlsoap.org/ws/2003/06/secext" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wssc="http://schemas.xmlsoap.org/ws/2004/04/sc" xmlns:wst="http://schemas.xmlsoap.org/ws/2004/04/trust">
<Header>
<ps:AuthInfo xmlns:ps="http://schemas.microsoft.com/Passport/SoapServices/PPCRL" Id="PPAuthInfo">
<ps:HostingApp>{7108E71A-9926-4FCB-BCC9-9A9D3F32E423}</ps:HostingApp>
<ps:BinaryVersion>4</ps:BinaryVersion>
<ps:UIVersion>1</ps:UIVersion>
<ps:Cookies />
<ps:RequestParams>AQAAAAIAAABsYwQAAAAyMDUy</ps:RequestParams>
</ps:AuthInfo>
<wsse:Security>
<wsse:UsernameToken Id="user">
<wsse:Username>帳號@hotmail.com</wsse:Username>
<wsse:Password>密碼</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</Header>
<Body>
<ps:RequestMultipleSecurityTokens xmlns:ps="http://schemas.microsoft.com/Passport/SoapServices/PPCRL" Id="RSTS">
<wst:RequestSecurityToken Id="RST0">
<wst:RequestType>http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue</wst:RequestType>
<wsp:AppliesTo>
<wsa:EndpointReference>
<wsa:Address>http://Passport.NET/tb</wsa:Address>
</wsa:EndpointReference>
</wsp:AppliesTo>
</wst:RequestSecurityToken>
<wst:RequestSecurityToken Id="RST1">
<wst:RequestType>http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue</wst:RequestType>
<wsp:AppliesTo>
<wsa:EndpointReference>
<wsa:Address>messengerclear.live.com</wsa:Address>
</wsa:EndpointReference>
</wsp:AppliesTo>
<wsse:PolicyReference URI="MBI_KEY_OLD" />
</wst:RequestSecurityToken>
<wst:RequestSecurityToken Id="RST2">
<wst:RequestType>http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue</wst:RequestType>
<wsp:AppliesTo>
<wsa:EndpointReference>
<wsa:Address>messenger.msn.com</wsa:Address>
</wsa:EndpointReference>
</wsp:AppliesTo>
<wsse:PolicyReference URI="MBI" />
</wst:RequestSecurityToken>
</ps:RequestMultipleSecurityTokens>
</Body>
</Envelope>

https://login.live.com/RST.srf 回應

<?xml version="1.0" encoding="utf-8" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
<psf:pp xmlns:psf="http://schemas.microsoft.com/Passport/SoapServices/SOAPFault">
<psf:serverVersion>1</psf:serverVersion>
<psf:PUID>0001613089FFCD2E</psf:PUID>
<psf:configVersion>3.100.2199.0</psf:configVersion>
<psf:uiVersion>3.0.869.0</psf:uiVersion>
<psf:authstate>0x48803</psf:authstate>
<psf:reqstatus>0x0</psf:reqstatus>
<psf:serverInfo Path="Live1" RollingUpgradeState="ExclusiveNew" LocVersion="0" ServerTime="2008-08-20T06:17:36Z">BAYIDSLGN1E20 2008.07.30.00.23.50</psf:serverInfo>
<psf:cookies/>
<psf:browserCookies>
<psf:browserCookie Name="MH" URL="http://www.msn.com">MH=MSFT; path=/; domain=.msn.com; expires=Wed, 30-Dec-2037 16:00:00 GMT</psf:browserCookie>
<psf:browserCookie Name="MHW" URL="http://www.msn.com">MHW=; path=/; domain=.msn.com; expires=Thu, 30-Oct-1980 16:00:00 GMT</psf:browserCookie>
<psf:browserCookie Name="MH" URL="http://www.live.com">MH=MSFT; path=/; domain=.live.com; expires=Wed, 30-Dec-2037 16:00:00 GMT</psf:browserCookie>
<psf:browserCookie Name="MHW" URL="http://www.live.com">MHW=; path=/; domain=.live.com; expires=Thu, 30-Oct-1980 16:00:00 GMT</psf:browserCookie>
</psf:browserCookies>
<psf:credProperties>
<psf:credProperty Name="MainBrandID">MSFT</psf:credProperty>
<psf:credProperty Name="BrandIDList">
</psf:credProperty>
<psf:credProperty Name="IsWinLiveUser">true</psf:credProperty>
<psf:credProperty Name="CID">15797708e38d3864</psf:credProperty>
<psf:credProperty Name="AuthMembername">帳號@hotmail.com</psf:credProperty>
</psf:credProperties>
<psf:extProperties>
<psf:extProperty Name="ANON" Expiry="Sun, 08-Mar-2009 13:17:36 GMT" Domains="" IgnoreRememberMe="false">A=604A1CF7C863B25590E98D87FFFFFFFF&E=751&W=1</psf:extProperty>
<psf:extProperty Name="NAP" Expiry="Fri, 28-Nov-2008 14:17:36 GMT" Domains="" IgnoreRememberMe="false">V=1.6&E=6f7&C=D3sTmCI3EaEA1q-Ugji4rYA5G76akrqFloSZtTfKwkT6_ToKa0MUog&W=1</psf:extProperty>
<psf:extProperty Name="LastUsedCredType">1</psf:extProperty>
</psf:extProperties>
<psf:response/>
</psf:pp>
</S:Header>
<S:Body>
<wst:RequestSecurityTokenResponseCollection xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wst="http://schemas.xmlsoap.org/ws/2004/04/trust" xmlns:wsse="http://schemas.xmlsoap.org/ws/2003/06/secext" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy" xmlns:psf="http://schemas.microsoft.com/Passport/SoapServices/SOAPFault">
<wst:RequestSecurityTokenResponse>
<wst:TokenType>urn:passport:legacy</wst:TokenType>
<wsp:AppliesTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
<wsa:EndpointReference>
<wsa:Address>http://Passport.NET/tb</wsa:Address>
</wsa:EndpointReference>
</wsp:AppliesTo>
<wst:LifeTime>
<wsu:Created>2008-08-20T06:17:36Z</wsu:Created>
<wsu:Expires>2008-08-21T06:17:36Z</wsu:Expires>
</wst:LifeTime>
<wst:RequestedSecurityToken>
<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#" Id="BinaryDAToken0" Type="http://www.w3.org/2001/04/xmlenc#Element">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc">
</EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:KeyName>http://Passport.NET/STS</ds:KeyName>
</ds:KeyInfo>
<CipherData>
<CipherValue>AXFOGn0CJ316qWBnizuzibVEto6s2I2AlZRmD69bPE+dfzAzqHWA3rjheo3p+wy46qtVQJXDw61/V9tVQZ3yFuQ2vuq4EWWaH5wB8RV6Bw5EVxJvlViM4FqNf7a/DaBSUCJqoPCGXxGRvXT5VYJDmMt/KAutuoO3ULh8r1aQYDs4JJQdFzHdst95oRQkeC4b1vzzNh4mRT/3y1C6wnplhlVhArpSRIf5yI5YYAz6dq0w2jzpfUZ/dJmz/vzfEsS3jV7eO0xptvy9X7wA/YM4U1r+8cIITG7DgfU85GhJmjh5P0LbvcZ6p39R/hNxUWJrHw5WU91qdVui0uMSOpQYloZxbtHtNWiQZ0Q2y+/YyGmX7THQdfyPqMSC7wl7gl2M+wwCrPzpUgpu2hRB89kUyARUz5O849F9uBy/DzV2u+l2oNmIzcOjhNDFqf9M003tJqV+ND7DA0KBJD/wQvHXP8M0OXRuTAxA4+z5bnqa858VgqwDrg==</CipherValue>
</CipherData>
</EncryptedData>
</wst:RequestedSecurityToken>
<wst:RequestedTokenReference>
<wsse:KeyIdentifier ValueType="urn:passport">
</wsse:KeyIdentifier>
<wsse:Reference URI="#BinaryDAToken0">
</wsse:Reference>
</wst:RequestedTokenReference>
<wst:RequestedProofToken>
<wst:BinarySecret>BZP+6JadxbOLyXqPL5Ryf1hHNpI9bYtU</wst:BinarySecret>
</wst:RequestedProofToken>
</wst:RequestSecurityTokenResponse>
<wst:RequestSecurityTokenResponse>
<wst:TokenType>urn:passport:compact</wst:TokenType>
<wsp:AppliesTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
<wsa:EndpointReference>
<wsa:Address>messengerclear.live.com</wsa:Address>
</wsa:EndpointReference>
</wsp:AppliesTo>
<wst:LifeTime>
<wsu:Created>2008-08-20T06:17:36Z</wsu:Created>
<wsu:Expires>2008-08-20T14:17:36Z</wsu:Expires>
</wst:LifeTime>
<wst:RequestedSecurityToken>

<wsse:BinarySecurityToken Id="Compact1">
t=EwBgAswbAQAUs1/VcBU2sH7mwYy3BysWZ71CRDGAAPyC8gbVv65DNR9B35NbtWgaPfSxjcx8TQRH7dSQkHl+pf46GQS1pukb1fNuh5NtW2fsIGDXCyNhyMBi4/BKhzeE66MGXBsfgdWzDzSj/SGnQYnZtvKLdBi9ihv1hR+q018ePodvV4x3Vlcet38/CE1yPd9t8Z/yhNyCBcufTbMVA2YAAAjOONh/nTbDBLABYnUuPlUVuIv9ImLzUxYuvlSzHsgEAxTJkrpnHNmJv4IS0lUGIO9+yvfEbAl46rS1vpr0MHN8uL4JIE7XkS7MHhElesCRHvMpWp/h2O9clTrk9P5krslyhepE45ZCWYyodEaCEPsD5ZEauYe4M8wf3Pm9mrF+vr0RiKwATDDz4Ow1QQ+zz/HS7XaKohPEsCQDLf5rnC+nsQha9053Wbsq6qrbTtAh5DHviCv2KjHVHykPufhlr1R/FTb4Pu/ufe3dt8r3pQseGcm0H16bYJBqlxqyG7ACIKha16xFYCltbENmNas4JGZvKWZMZsPL9XWiRwzwxg2kDUROlAZeW2AA2cBi+M8xjpZwpoktR5JbnZxu9qMta9s8576i/3plIxLxvvutva5FM/favzAauwbSZUX3virKDYKe569LyZxurrAWEmnPWNzj7ORajtvT1CXWcVwHMT+eu5oqW8PhPrKgIeCad5bRjnzyaG3WGNczkOdTcDJ8ybVCOztqrA90vqvSHS1qw1FL6JiJK0hIWHccwXrDoN7YGsnhtxhCFMLj2IQlD5KtA/SMsBJlSCtQKRa+xAE=&p=
</wsse:BinarySecurityToken>

</wst:RequestedSecurityToken>
<wst:RequestedTokenReference>
<wsse:KeyIdentifier ValueType="urn:passport:compact">
</wsse:KeyIdentifier>
<wsse:Reference URI="#Compact1">
</wsse:Reference>
</wst:RequestedTokenReference>
<wst:RequestedProofToken>

<wst:BinarySecret>
YdSj/GIkHNjeRoClluok9J4bYNsWVEea
</wst:BinarySecret>

</wst:RequestedProofToken>
</wst:RequestSecurityTokenResponse>
<wst:RequestSecurityTokenResponse>
<wst:TokenType>urn:passport:compact</wst:TokenType>
<wsp:AppliesTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
<wsa:EndpointReference>
<wsa:Address>messenger.msn.com</wsa:Address>
</wsa:EndpointReference>
</wsp:AppliesTo>
<wst:LifeTime>
<wsu:Created>2008-08-20T06:17:36Z</wsu:Created>
<wsu:Expires>2008-08-20T14:17:36Z</wsu:Expires>
</wst:LifeTime>
<wst:RequestedSecurityToken>
<wsse:BinarySecurityToken Id="Compact2">t=EwDYAfsBAAAUAHmHi/fIK5MsbQWTulxz7EiCF2+AAFyqVQompSp1Zu7W3g7T5yMceStaxs7w5I8wsiIeECJSj2+j7V3JorQeMfR1Y5Z4Azu5z+VHsRDIPrBh7FUgleNZF9SMSrhYfCiEjstd2OWD2RIWzLFmoLdZlDmhAZp1SLtJlf52O5rK6LFwTQrBJCgwYcLrX2o9l1OnwUuIMe0sA2YAAAheN9vDJtdLsigBd3QSSEiD2MhG5sHTnl8nC9xg4TMGF1+p3MomH45rnQPiQrGsgSxbymrtvO3gDDe0GSMIfLCDxJikDWVeUGeqIfrYC/KMEBbKcK24O3H+BkiWNk8PinF8T1FNAv7kK4f/fO6/UucbIyVyZC81b8/ahFjxJ0Z8tYGF3TrAGJzvqWIrgK7Hr3EC2GaagbHs6i3c3u9aNxBWqL+2x2c4csFR79lPx+cyS4DvYY0AMf6DNt03Gy6NiG51oS5At2QMyP7xT+doH2SeDeVGM3fVCa3jL0JlkOZbDy6SxDMANfaPPfOQYEadQsubPyZBe7UDCwmN6X0iio4Jy1DJyWpbROKF+lPax8ICEtB2ZAYw8PUTkym/TSCmEwX54A/LKFa6mwvA33tr4hYIv/hEAQ==&p=</wsse:BinarySecurityToken>
</wst:RequestedSecurityToken>
<wst:RequestedTokenReference>
<wsse:KeyIdentifier ValueType="urn:passport:compact">
</wsse:KeyIdentifier>
<wsse:Reference URI="#Compact2">
</wsse:Reference>
</wst:RequestedTokenReference>
</wst:RequestSecurityTokenResponse>
</wst:RequestSecurityTokenResponseCollection>
</S:Body>
</S:Envelope>

====

BinarySecurityToken-> t=EwBgAswbAQAUs1/VcBU2sH7mwYy3BysWZ71CRDGAAPyC8gbVv65DNR9B35NbtWgaPfSxjcx8TQRH7dSQkHl+pf46GQS1pukb1fNuh5NtW2fsIGDXCyNhyMBi4/BKhzeE66MGXBsfgdWzDzSj/SGnQYnZtvKLdBi9ihv1hR+q018ePodvV4x3Vlcet38/CE1yPd9t8Z/yhNyCBcufTbMVA2YAAAjOONh/nTbDBLABYnUuPlUVuIv9ImLzUxYuvlSzHsgEAxTJkrpnHNmJv4IS0lUGIO9+yvfEbAl46rS1vpr0MHN8uL4JIE7XkS7MHhElesCRHvMpWp/h2O9clTrk9P5krslyhepE45ZCWYyodEaCEPsD5ZEauYe4M8wf3Pm9mrF+vr0RiKwATDDz4Ow1QQ+zz/HS7XaKohPEsCQDLf5rnC+nsQha9053Wbsq6qrbTtAh5DHviCv2KjHVHykPufhlr1R/FTb4Pu/ufe3dt8r3pQseGcm0H16bYJBqlxqyG7ACIKha16xFYCltbENmNas4JGZvKWZMZsPL9XWiRwzwxg2kDUROlAZeW2AA2cBi+M8xjpZwpoktR5JbnZxu9qMta9s8576i/3plIxLxvvutva5FM/favzAauwbSZUX3virKDYKe569LyZxurrAWEmnPWNzj7ORajtvT1CXWcVwHMT+eu5oqW8PhPrKgIeCad5bRjnzyaG3WGNczkOdTcDJ8ybVCOztqrA90vqvSHS1qw1FL6JiJK0hIWHccwXrDoN7YGsnhtxhCFMLj2IQlD5KtA/SMsBJlSCtQKRa+xAE=&p=
--
nonce-> ZUzrcaa4fRluSqjOaLzc9ExfHQaoiZB4MxTjfRcmohTooJuVilSvIJ7jSy+DKBeO
--
BinarySecret-> YdSj/GIkHNjeRoClluok9J4bYNsWVEea
--
此處的程式下一篇補上,將上述資訊做hash 3des 的加密...程式後,產生
HAAAAAEAAAADZgAABIAAAAgAAAAUAAAASAAAAAAAAAAAAAAAu1u3n7shOrO0b1zrRTR/+hPQ97ucXZ/4vd6sPYkgZjyEUBE+nF4Xe+y1WuNzKxLSIG9AcWpKbu0JYUa06PuyvvLCTtjeqipeyISPnyHncMivinI/LcZmGmhOpfo=
而這個值是下一個程序 USR 4 SSO S t=...&p=xxx 中的p值,而t值為BinarySecurityToken

====

c2s->USR 4 SSO S t=EwBgAswbAQAUs1/VcBU2sH7mwYy3BysWZ71CRDGAAPyC8gbVv65DNR9B35NbtWgaPfSxjcx8TQRH7dSQkHl+pf46GQS1pukb1fNuh5NtW2fsIGDXCyNhyMBi4/BKhzeE66MGXBsfgdWzDzSj/SGnQYnZtvKLdBi9ihv1hR+q018ePodvV4x3Vlcet38/CE1yPd9t8Z/yhNyCBcufTbMVA2YAAAjOONh/nTbDBLABYnUuPlUVuIv9ImLzUxYuvlSzHsgEAxTJkrpnHNmJv4IS0lUGIO9+yvfEbAl46rS1vpr0MHN8uL4JIE7XkS7MHhElesCRHvMpWp/h2O9clTrk9P5krslyhepE45ZCWYyodEaCEPsD5ZEauYe4M8wf3Pm9mrF+vr0RiKwATDDz4Ow1QQ+zz/HS7XaKohPEsCQDLf5rnC+nsQha9053Wbsq6qrbTtAh5DHviCv2KjHVHykPufhlr1R/FTb4Pu/ufe3dt8r3pQseGcm0H16bYJBqlxqyG7ACIKha16xFYCltbENmNas4JGZvKWZMZsPL9XWiRwzwxg2kDUROlAZeW2AA2cBi+M8xjpZwpoktR5JbnZxu9qMta9s8576i/3plIxLxvvutva5FM/favzAauwbSZUX3virKDYKe569LyZxurrAWEmnPWNzj7ORajtvT1CXWcVwHMT+eu5oqW8PhPrKgIeCad5bRjnzyaG3WGNczkOdTcDJ8ybVCOztqrA90vqvSHS1qw1FL6JiJK0hIWHccwXrDoN7YGsnhtxhCFMLj2IQlD5KtA/SMsBJlSCtQKRa+xAE=&p= HAAAAAEAAAADZgAABIAAAAgAAAAUAAAASAAAAAAAAAAAAAAAu1u3n7shOrO0b1zrRTR/+hPQ97ucXZ/4vd6sPYkgZjyEUBE+nF4Xe+y1WuNzKxLSIG9AcWpKbu0JYUa06PuyvvLCTtjeqipeyISPnyHncMivinI/LcZmGmhOpfo=
s2c->USR 4 OK luke_shei@hotmail.com 1 0
SBS 0 null
s2c->MSG Hotmail Hotmail 1234
MIME-Version: 1.0
Content-Type: text/x-msmsgsprofile; charset=UTF-8
LoginTime: 1219213056
EmailEnabled: 1
MemberIdHigh: 90416
MemberIdLow: -1979724498
lang_preference: 1028
preferredEmail:
country: TW
PostalCode:
Gender:
Kid: 0
Age:
BDayPre:
Birthday:
Wallet:
Flags: 1610613827
sid: 72652
MSPAuth: EwBgAswbAQAUs1/VcBU2sH7mwYy3BysWZ71CRDGAAPyC8gbVv65DNR9B35NbtWgaPfSxjcx8TQRH7dSQkHl+pf46GQS1pukb1fNuh5NtW2fsIGDXCyNhyMBi4/BKhzeE66MGXBsfgdWzDzSj/SGnQYnZtvKLdBi9ihv1hR+q018ePodvV4x3Vlcet38/CE1yPd9t8Z/yhNyCBcufTbMVA2YAAAjOONh/nTbDBLABYnUuPlUVuIv9ImLzUxYuvlSzHsgEAxTJkrpnHNmJv4IS0lUGIO9+yvfEbAl46rS1vpr0MHN8uL4JIE7XkS7MHhElesCRHvMpWp/h2O9clTrk9P5krslyhepE45ZCWYyodEaCEPsD5ZEauYe4M8wf3Pm9mrF+vr0RiKwATDDz4Ow1QQ+zz/HS7XaKohPEsCQDLf5rnC+nsQha9053Wbsq6qrbTtAh5DHviCv2KjHVHykPufhlr1R/FTb4Pu/ufe3dt8r3pQseGcm0H16bYJBqlxqyG7ACIKha16xFYCltbENmNas4JGZvKWZMZsPL9XWiRwzwxg2kDUROlAZeW2AA2cBi+M8xjpZwpoktR5JbnZxu9qMta9s8576i/3plIxLxvvutva5FM/favzAauwbSZUX3virKDYKe569LyZxurrAWEmnPWNzj7ORajtvT1CXWcVwHMT+eu5oqW8PhPrKgIeCad5bRjnzyaG3WGNczkOdTcDJ8ybVCOztqrA90vqvSHS1qw1FL6JiJK0hIWHccwXrDoN7YGsnhtxhCFMLj2IQlD5KtA/SMsBJlSCtQKRa+xAE=&p=
ClientIP: 59.120.234.89
ClientPort: 6413
ABCHMigrated: 1
Nickname: luke
MPOPEnabled: 0

[微程式-技術研討會] 8月研討會 - 主講人Lucy - 社群網站相關分析簡報

一.orkut partII
http://tcmail.program.com.tw/image/Orkut_Lucy.pdf

二.從社群網站談SSO與RFID 的集合
http://tcmail.program.com.tw/image/community_website.pdf

[微程式-技術研討會] 8月研討會 - Bidirectional-streams Over Synchronous HTTP (BOSH) - 主講人:znul

Bidirectional-streams Over Synchronous HTTP (BOSH)

網址: http://www.xmpp.org/extensions/xep-0124.html

一何謂bosh?
雙向性的Http串流,利用http protocol post transport xmpp stream

二why http protocol?
一般防火牆都會允許tcp 80 prot 的對外窗口,某些少數的防火牆甚至允許任何的通訊協定通過這個port,
但是更多的proxy,filter 會確認通過的串流是否為http

三技術名詞
1pull: client use http request from server,是一種以網路為基礎的溝通方法
2 push: server response data to client,是一種以網路為基礎的溝通方法,server主動將資料傳給client

四compare other bidirectional http-base transport protocol
1http polling :週期性的詢問server是否有資料
2 ajax(Asynchronous JavaScript and XML)
3 comet :是長時間連線要求的web 應用的模式,server在有資料要傳送時透過此連線push資料至用戶端.
利用ajax with long polling or iframe or htmlfile activex 的技術去探測server是否有新的訊息
4bosh:採用多個http request / response 對,非polling,自稱可高效率低延遲的傳輸訊息及節省網路頻寬

五要求
1相容於受約束的執行環境(如行動電話或流覽器的用戶端)**.
2可以讓流覽器的用戶端建立跨網域的連接*
3相容部份緩衝的http代理回應*
4有效率的通過http回應時間限制的代理*
5完全相容http 1.0*
6相容受限的網路連線(如防火牆.代理.閘道)
7容錯性
8擴展性
9使用的頻寬遠低於輪詢機制的protocols
10回應的時間遠低於輪詢機制的protocols
11支援輪詢
12按順序傳送資料
13防止未經許可的使用者插入http request
14防止拒絕服務攻擊15多工的資料串流
*為comet無法做到的

六架構 Server [unwrapped data streams] Connection Manager (specialized HTTP server) BOSH [HTTP + <body/> wrapper] HTTP Client

六bosh原理(connection manager以下稱cm)
Client 傳送一個http請求,cm並不馬上回應,直到有資料要傳回cleint端,client端收到回應後,馬上又發送另一個
http請求,以確保cm隨時保持一個請求的連線,使之能push資料給client
在cm hold請求的同時,client端又有資料要傳送,此時需要發起第二個http請求,傳送資料,但一般的http client
並不支援管線(在同個連線發起多個請求),所以必須建立第二個http 連線發起第二個請求,此時cm不管是否
有無資料必須回應第一個http請求給client端,cm這麼做可確保client端有資料需傳送時可隨時發起第二個
請求(client不能同時開啟兩個以上的 http連線,不然就是要等cm回應第一個請求)
在網路環境良好的情況下,client可使用http 1.1,所有的請求是透過兩個持續的http連線,當cm從其中一個
連線Push資料時,client端也可透過另一個連線push資料(所以回應速度會跟一般的TCP連線差不多),要注意
的是,這兩個連線的角色,client每傳送一資料,就互換一次
若雙方在特定的時間內都沒有資料傳輸,那麼 cm傳回一個空值的回應,此時將觸發client發起另一個新的
請求,Cm藉此判斷在特定時間內連線是否中斷,這種交流就像"keep-alive" or "ping"等方法的實踐,因為BOSH
不涉及Polling,所以頻寬的消耗不會大於一般的TCP連線
在通常的情況下,數据可立即推送,不過,若其中一個端點剛推送了資料,那麼必須等待一個網路往返的時間
才可再次推送資料,若client端支援管線,那麼多個連線並行是可行的,因此client可隨時傳送資料,也可確保cm
隨時hold足夠的請求,若cm的請求連線集區夠大的話,client也不用對返回的空值回應,立即發送一個空的請求,
而是等到有資料時再發送請求,因此若client與流量是均衡的話,就像是使用一個標準的TCP連線
Cm的每個資料推送,都是一個標準的http response,因此不像commet技術,bosh可以2,3,4,5


九.參考文件
<a href="http://www.xmpp.org/extensions/xep-0124.html">http://www.xmpp.org/extensions/xep-0124.html</a>
<a href="http://www.xmpp.org/extensions/xep-0025.html">http://www.xmpp.org/extensions/xep-0025.html</a>
<a href="http://en.wikipedia.org/wiki/Comet_(programming)">http://en.wikipedia.org/wiki/Comet_(programming)</a>
<a href="http://www.ibm.com/developerworks/cn/web/wa-lo-comet/">http://www.ibm.com/developerworks/cn/web/wa-lo-comet/</a>