¡@¡@¡@¡@
  çS¡@¡@Íh
  ÖõÁС@¡@

¸¸çj çS¡@ English
¡@¡@¾P¡@
¡@¡@¾P¡@
´A¡@¾P¡@
¦¿¹Ô¾P¡@
¡@¡@¾P¡@
¡@¡@¡@ºN
¾P¡@«b¡@
¡@°F¾P±q
¯¹¡@ | ¥Ê¡@ | Ïý¡@ | ¡@¡@ | ¶^ò° | ¿W¡@ | ¥Ê¡@ | ´\¡@ | £¢¡@ | ÚuÏï | ¡@¥Ê | çS¡@ | ¡@£´ | Ò§¡@¾P¡@ | ¡@¡@ | ¶¥­´
¡@¡@Íg¡@¡@¡@¡@¡@

¡@¡@>>çSÁд\¡@>>¡@¡@

çSÁд\¡@¡@çSÁлH°ú¡@îÅ,ð@¿Å¼fçSÁС@îÅ,çS¡@¡@¡@ÀÅ¡@,çS¡@¡@¡@¡@¡@,çSÁÐÀÅ¢f´\¡@- ¡@¦a¾P¡@çS
Web2.0Úñ¡@

¡@¡@¡@³­¡@¡@ ReplyTo ¡@Úò¡@¡@­Ë¡@¡@¡@¡@ TCP ·É¾×íå´fðE¡@³õ¡@¡@Úò¡@¡@¡@ SoapReceiver ºN¡@¡@ Add ¡@Úu¡@¡@¡@¡@¡@¯s¡@¡@Úò¡@¡@¡@¡@££¡@¡@¡@¡@©Ó¡@¡@¡@¡@¡@¡@ PeerService ¡@ºN¡@¡@Öv¯s¡@¨{¡@¡@ Rock Paper Scissors §øÄæ¡@ SoapReceiver ºN¡@¡@ºN¡@PeerService ºN¡@Öv¡@§ó¡@¡@í~¨{¡@¡@¡@¡@ Receive ¡@Úu¡@ÆBºN¡@¡@Úò¡@¡@¡@¡@¡@

public class PeerService : SoapReceiver

{

public static Form1 Form;

protected override void Receive(SoapEnvelope envelope)

{

Form.opponentPlay

= (char)envelope.GetBodyObject(typeof(char));

foreach (SecurityToken tok in envelope.Context.Security.Tokens)

{

if (tok is KerberosToken)

{

Form.opponent = (KerberosToken)tok;

break;

}

}

Form.OpponentUri = envelope.Context.ReplyTo;

if (Form.peerToken == null)

Form.peerToken

= new KerberosToken("host/"

+ Form.OpponentUri.Host);

Form.opposingNameLabel.Invoke(

new Form1.ReceivePlayDelegate(Form.ReceivePlay));

}

}

Receive ¡@Úu¡@¡@ SoapEnvelope ¬ÑæÎ¡@¡@§â­p¡@SoapEnvelope ºNÖv¡@ XmlDocument ºN¡@¡@¡@¡@¡@¡@¡@§²¡@¡@¡@¡@¡@¡@§¨¡@¡@ XML DOM ¾X¡@£¤Ïî«ô SOAP ¡@¡@¢Q§¨ò³¡@¡@¡@¡é£V£~¡@ DOM ¾X¡@¡@£nÖv¡@¡@ GetBodyObject ¡@Úu»H¡@ SOAP ¡@¡@¡@¡@¡@¡@ XML £¤©Ó¡@¡@¡@ºN¡@ÆB¡@Úu¡@¡@¡@¡@£~¡@¡@ XmlSerializer¡@¡@¡@¡@¯¹¡@á¡@÷ç¡@¡@ Form ºN¡@¡@¡@¡@£V©g¡@¡@¡@

¡@¡@Á{¡@¥s¡@¡@²ú¡@ Kerberos ¡@¡@¡@¡@¡@÷ç¡@¡@¡@¡@¡@¡@¡@¡@²ú¡@¬Ñ¡@¡@¡@¼K¡@ò~¡@¡@÷ç¡@¬Ñ¡@¡@ ReplyTo URI¡@¡@ôm¡@¡@¡@µz¾X£O¡@µÜ¡@¡@¡@¡@¡@¡@¡@¡@»H¡@ URI ¡@³­¡@¡@¡@¼f¡@¡o¡@¡@ Kerberos ¡@¡@¡@¡@¡@¡@¡@¡@·ø¡@¡@¡@¡@¡@¡@

SoapReceivers ¡@¡@¡@¯s¡@¨{¡@¡@Ö³¾X¡@¡@¡@£O¡@¡@¡@¡@ÖÅ¡@¡@¡@¡@ºN¡@ Receive ¡@Úu¡@ªÄ¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@ÖÅ¡@ Receive ¡@Úu¡@¡@¡@­pÁ¡Úx¡@¡@ÆB¡@¡@¡@Öv¡@í~µÜ¡@¡@¡@¡@«å¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@ Receive ¡@Úu¡@¡@¡@¡@¡@¡@¡@ Windows «åçj¡@¡@¡@¡@¥_¡@ÖÅ¡@ Invoke ¡@Úu¡@¡@âò¹ô¯¹¡@¡@«å¡@¡@¡@¡@¡@¡~¡@¡@£N¡@¡@¡@¡@£~«åçj¡@¡@¾P¥_¡@¡@¡@Ïï¡@¡@¡@맪ġo¡@¡@¡@¡@££¡@¡@¡@£Në§¡~£³£[¯¹¡@¡@¡@¹Ó²£¡@¡@µÜ¡@¡@¡@¡@¡@¡@¡@¡@

¿ØÖÅ¡@ SoapReceivers.Add ¡@Úu¡@¡@¡@¡@£[³­¡@¡@ÆB¡@Úu¡@¡@¡@¡@¡@¨{±w£³¡@§â­p¡@¡@¡@ URI ¢Q¯s¡@ºN¡@ºN¡@ºN¡@¡@URI ¡@¡@¡@¡@°Â¡@¡@¡@¡@¡@¡@URI ºN¡@¡@ soap.tcp¡@¡@¡@¡@¡@Öv¡@¡@¡@¡@ TCP ¬é¡@¡@ SOAP ¡@¡@¡@ URI¡@URI ¡@¡@¼f¡@¼K¡@¡@ðE¯s¡@¡@ð@¿Å¼f¡@£µ¡@Öv¡@£¤¯s¡@¨{¡@Ö³¾X¡@ TCP ¬½¡@¸¡¡@¡@¡@¡@££¡@¡@¡@¡@£~¡@¬½¡@ 3131¡@µ{¡@¡@ðE£~¡@ 1000 ¡@¡@¡@¬½¡@¸¡¡@¡@¡@¡@¡@Öv¡@¡@¡~ºN¡@¡@µÜ¡@¡@¡@£n÷çµj¡@¡@££¡@¡@¬½¡@ 80 ¡@¡@ HTTP ¡@¥z³º¡@¡@

myPeerUri

= new Uri("soap.tcp://"

+ System.Net.Dns.GetHostName()

+ ":3131/RPSPeer1");

SoapReceivers.Add(myPeerUri, typeof(PeerService));

¡@°ø£» TCP ¯s¡@³º¬é¡@¡@¡@¡@¡@§²¸¸¦ä¡@¡@¡@¡@ðE©Ó¡@¡@¡@ SoapEnvelope ¬ÑæÎ¡@¡@£~¡@ SetBodyObject ¡@Úu¡@¬ÑæÎ¡@¡@¡@¡@¡@¡@¡@ XML ¡@¡@SoapEnvelope ¡@¡@¡@¡@ Context ©g¡@¡@ÆB©g¡@¡@£~¡@ºN¡@¡@¡@Ïï HTTP ¡@¡~¡@ SOAP ¡@¡@¡@£~¡@¡@ SoapRequestContext ¢Q SoapResponseContext ©g¡@¡@¡@¡@¡@¡@£¤¡@¡@´fðE¡@ Action SOAP §¨ò³¢Q¡@¦J¡@ ReplyTo §¨ò³¡@¡@¡@Á{ðE¡@¡@Íg¡@©Ó¡@¡@ Kerberos ¡@¡@¡@¡@¡@£¤¡@·ø¡@¡@¡@¬Ñ¡@¬é¡@¡@¡@¡@¡@¡@£~¡@ SoapSender ºN¡@ÆBºN¡@¡@¡@¡@¡@¯s¡@¨{¡@¡@¡@¡@ SoapReceiver ºN¡@¬ÑµÜ¡@SoapSender ºN²ú¡@£µ¯k¡@£¸­p¡@¡@·É¾×íå URI¡@ò~¡@¡@¨{±w¡@ SoapEnvelope ¬é¡@¡@ Send ¡@Úu¡@¬é¡@¬Ñ³æ¡@¡@¡@¡@Úò¡@¡@¡@¡@¡@

// Send Message

SoapEnvelope envelope = new SoapEnvelope();

envelope.SetBodyObject(myPlay);

envelope.Context.Action = new Action(OpponentUri.ToString());

envelope.Context.Security.Tokens.Add(peerToken);

envelope.Context.Security.Elements.Add(

new EncryptedData(peerToken));

envelope.Context.ReplyTo = myPeerUri;

SoapSender peerProxy = new SoapSender(this.OpponentUri);

peerProxy.Send(envelope);

¡@¡@¡@¡@ Microsoft Download Center ²ú¡@ Rock Paper Scissors µÜ¡@¡@¡@¡@¡@­Ñ¤è¡@Úò¡@¿Y¡@¡@¡@

WSE 2.0 ¡@£µ¡@¡@¡@
¡@¡@ Rock Paper Scissors µÜ¡@¡@¡@¡@¡@¡@¡@¢£¡@ WSE 2.0 ¡@¡@¡@¡@¡@¡@¡@ÖvÁ{£V¡@¡@£µ¡@¡@¡@¡@¡@¡@¡@¡@¡@Á{¡@¡@¡@ Windows ¡@¡@¡@´É£K¡@¡@ Kerberos ¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@£V¡@¡@¬Ñ¼K·ø¡@¡@¡@¡@¬Ñ£³¡@·É¾×íå¡@¤B¡@¡@¡@¡@¡@ªÄ¡o¡@·ø¡@£n¡@´f¡@¡V¡@¡@¡@¡@£K¡@¡@¡@¡@·ø¡@¡@®J¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@Á{¡@¡@©Ó¡@¡@¡@¡@¡@¡@¡@¥z (Security Token Service)¡@ÆB¡@¥z¡@£³¡@·É¾×íå¡@¤B¡@¡@áºà¬é¡@¡@¡@¡@¡@¡@

¬Ñ¡@¡@¡@¡@í~¡@¡@¡@«×ðP¶¥¡@¬Ñ¬é¡@°ø£» TCP ¡@¡@¡@¡@¡@¡@£µÀt¬Ñ¡@£»¥s¡@/¡@µÜ¡@¡@¡@¡@Öv¡@§²¡@¡g¡@ÆB¡@¡@£~¡@ SoapMethod ©g¡@¡@ºN¡@¡@¡@ .asmx Web ¡@¥z¡@ WebMethod ©g¡@¡@£n¡@¥¨¡@¡@¡@¡@¡@¡@¡@Á{¡@¡@¡@¦äêÌ¡@µÜ¡@¡@¡@¡@¤B¡@ÖÅ¡@¡@¥z¡@¡@¡@¡@¡@Öv¡@¡@¡@¡@ Windows ¡@¡@¡@¡@©Ó¡@«å£DµÜ¡@¡@¡@¡@»H°ú¡@¡@§²»H¡@¡@¦äêÌ¡@µÜ¡@¡@¡@¡@¤B¡@¬é¡@¡@¡@¡@

WSE 2.0 ¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@Öv£´£V¡@¡@¡@ÐR¡@íå¡@¡@¡@¡@·t¡@¡@£uÁ¡¡@¡@¡@¡@©Ó¡@¡@¡@¡@¡@¡~¡@¡@¡@¡@í~¡@¡@¡@¡@¡@¡@¡@¡@èXµÔ¡@¡@¡@¹_ WSE 1.0 ¡@§²¡@¡@¡@ò~¡@¡@ÐR¡@¡@í~¡@âä¡@¡@¡@¡@ðE¡@Öv¡@¡@¡@¡@ħ¡@ù¤£[¡@ÍgªÄ¡@¡@¡@¡@£V¡@¡@¡@¡@

¡@¡@¡@¡@3¡@,¿ØÍg¡@§÷3¡@  1  2  3  

¡@¡@¥°ÒÑ¡@¡@¥síåÁñ ¡@¡@¥°ÒÑ¡@¡@¥síåÁñ
 
¡@¡@µ±
çS¡@°Â¡@«ëí~Ïï¡@¡@¡@
¡@¡@µ±
Web2.0¡@Ïò¡@¡@¡@£v¡@¡@?

íå¡@¡@¡@¡@¡@¡@¡@¡@¡@&¡@­Ë¡@¡@µj¡@
Copy Of Right © 2004 - 2009 Zhongzi.net, All Rights Reserved
¡@¡@¡@£V¡@¡@¦a¾P¡@çS ÖÚ²p¡@¡@¦a¾P¡@çSçSÁÐá¡@¡@¡@
¡@§þ:+086-021-54081687 ¨{ÞÊ:+086-021-51901687
Email/Msn: hk@zhongzi.net
²[ICPºÙ05000005¸¡ ¡@¡@¼f»ÔçSÁк١@¡@¡@¿Ò
¡@¡@¸}á¡@Åò²£
¡@Åò½S×ô
¡@¡@¸}á¡@Åò²£
Seedchina,chinaseed,Seeds,flowers