<div>我使用io::socket,实现了server和client之间的通信</div>
<div>目前碰的一个问题,从client这段发送命令到server这边,当同时又2个client发送指令到server上去的话,将会按照指令发送的先后依次执行,我希望做到,当正在执行时,又有指令发送到server上,同时也开始执行相应操作,而不是等前一个指令的操作全部完成后,才开始</div>
<div>简单的说,也就是希望可以同时收到不同client上传来的指令,server上同时执行这些指令操作<br><br>&nbsp;</div>
<div><span class="gmail_quote">在08-2-13,<b class="gmail_sendername">Bruce Cheng</b> &lt;<a href="mailto:bruce1914@gmail.com">bruce1914@gmail.com</a>&gt; 写道:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div lang="ZH-CN" vlink="purple" link="blue" bgcolor="white">
<div>
<p><span style="COLOR: #1f497d">好的,</span><span style="COLOR: #1f497d"> </span><span style="COLOR: #1f497d">谢谢!</span><span lang="EN-US" style="COLOR: #1f497d"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span></p>
<div>
<div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df 1pt solid; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; PADDING-TOP: 3pt; BORDER-BOTTOM: medium none">
<p style="TEXT-ALIGN: left" align="left"><span class="q"><b><span style="FONT-SIZE: 10pt; COLOR: windowtext">发件人<span lang="EN-US">:</span></span></b><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: windowtext"> china-pm-bounces+bruce1914=<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:gmail.com@pm.org" target="_blank">gmail.com@pm.org</a> [mailto:<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:china-pm-bounces+bruce1914=gmail.com@pm.org" target="_blank">china-pm-bounces+bruce1914=gmail.com@pm.org</a>] </span><b><span style="FONT-SIZE: 10pt; COLOR: windowtext">代表 </span></b></span><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: windowtext">Prince Brave<br>
</span><b><span style="FONT-SIZE: 10pt; COLOR: windowtext">发送时间<span lang="EN-US">:</span></span></b><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: windowtext"> 2008</span><span style="FONT-SIZE: 10pt; COLOR: windowtext">年<span lang="EN-US">2</span>月<span lang="EN-US">13</span>日<span lang="EN-US"> 21:10<br>
</span><b>收件人<span lang="EN-US">:</span></b><span lang="EN-US"> <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:china-pm@pm.org" target="_blank">china-pm@pm.org</a><br></span><b>主题<span lang="EN-US">:</span></b><span lang="EN-US"> Re: [PerlChina] </span>答复<span lang="EN-US">: send mail in windows VISTA</span></span></p>
</div></div>
<div><span class="e" id="q_11812ef6c35b990e_3">
<p style="TEXT-ALIGN: left" align="left"><span lang="EN-US">&nbsp;</span></p>
<p><span>首先需要指出的是</span><span lang="EN-US">:gmail </span><span>所使用的端口不是默认的</span><span lang="EN-US"> SMTP </span><span>端口</span><span lang="EN-US">25, </span><span>而是端口</span><span lang="EN-US">465,</span><span>而且也不是普通的</span><span lang="EN-US">smtp</span><span>连接,而是带</span><span lang="EN-US">ssl</span><span>的</span><span lang="EN-US">smtp</span><span>(有关信信息在</span><span lang="EN-US">gmail</span><span>的帮助中的邮件客户端设置可以看到)。</span><span lang="EN-US"><br>
</span><span>你可以在</span><span lang="EN-US">CPAN</span><span>上搜索</span><span lang="EN-US">smtp ssl </span><span>等的模块。</span><span lang="EN-US">perl </span><span>核心模块中的</span><span lang="EN-US">Net::SMTP</span><span>只支持</span><span lang="EN-US">sasl</span><span>验证。</span><span lang="EN-US"><br>
</span><span>另外一个问题是</span><span lang="EN-US">:</span><span>在认证之前你应该给</span><span lang="EN-US">smtp</span><span>服务器发送一个</span><span lang="EN-US">ELHO</span><span>命令,即先</span><span lang="EN-US">$smtp-&gt;hello(),</span><span>然后才是</span><span lang="EN-US">$smtp-&gt; auth();</span><span>关于</span><span lang="EN-US">smtp</span><span>协议的细节</span><span lang="EN-US"><br>
</span><span>你有时间的话可以看一下相关的</span><span lang="EN-US">rfc</span><span>文档,可以在</span><span lang="EN-US">google</span><span>搜索</span><span lang="EN-US">&quot; smtp rfc &quot;</span><span>,这样你会对邮件发送的细节有个清楚的认识。</span><span lang="EN-US"><br>
Bruce Cheng </span><span>写道</span><span lang="EN-US">: </span></p>
<p><span style="COLOR: #1f497d">我的代码是这样写的:</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">#! c:/perl/bin/perl.exe</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">use Net::SMTP ;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">$smtp = Net::SMTP-&gt;new(&#39;<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://smtp.gmail.com/" target="_blank">smtp.gmail.com</a>&#39;) or die &quot;Error1 : $!\n&quot; ;</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">print $smtp-&gt;domain ;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">$smtp-&gt;auth(&#39;username&#39;, &#39;password&#39;)&nbsp; or die &quot;Error2 : $!\n&quot;;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">$smtp-&gt;mail(&#39;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bruce1914@gmail.com" target="_blank">bruce1914@gmail.com</a>&#39;)&nbsp; or die &quot;Error3 : $!\n&quot;;</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="COLOR: #1f497d">$smtp-&gt;to(&#39;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bruce1985cx@163.com" target="_blank">bruce1985cx@163.com</a>&#39;)&nbsp; or die &quot;Error4 : $!\n&quot;;</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="COLOR: #1f497d">$smtp-&gt;data() ;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">print $smtp ;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">$smtp-&gt;datasend(&quot;To: <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bruce1985cx@163.com%5Cn" target="_blank">bruce1985cx@163.com\n</a>&quot;) or die &quot;Error5 : $!\n&quot; ;</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="COLOR: #1f497d">$smtp-&gt;datasend(&quot;\n&quot;) ;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">$smtp-&gt;datasend(&quot;A simple test message\n&quot;) or die &quot;Error 6: $!\n&quot; ;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">$smtp-&gt;dataend()&nbsp; or die &quot;Error7 : $!\n&quot;;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">$smtp-&gt;quit ;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span style="COLOR: #1f497d">运行结果:</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp; Error2 : No such file or directory</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp; <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://mx.google.com/" target="_blank">mx.google.com</a></span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p>
<p><span style="COLOR: #1f497d">我试了很多网上别人提供的代码都不行,不知道哪儿有问题。</span><span lang="EN-US"></span></p>
<p><span lang="EN-US" style="COLOR: #1f497d">&nbsp;</span><span lang="EN-US"></span></p></span></div></div></div><br>_______________________________________________<br>China-pm mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:China-pm@pm.org">China-pm@pm.org</a><br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://mail.pm.org/mailman/listinfo/china-pm" target="_blank">http://mail.pm.org/mailman/listinfo/china-pm</a><br></blockquote></div><br><br clear="all"><br>
-- <br>BR<br>Steven.zhu