2009年4月21日星期二

[PerlChina] Re: 请教 : perl thread 处理

请问你打算怎么显示消息。如果是在命令行消息立即显示就会冲掉正在输入的内容。这样就会显示有问题。你是怎么实现的。能不能新打开一个console或
shell专门用来显示信息。另外一个专门用来输入信息。用什么方法打开一个console窗口并把句柄传进去。或者在进程内部执行一个perl
script,用这个script来处理所有socket,来输出消息。
我现在也在写这个。我使用select来处理accept。我想用tcp实现聊天。当然发送信息只用到socket,就不用select。发送消息
syswrite不行?不用阻塞。显示消息也要select,


On Apr 21, 2:59 pm, oscar <oscar.wan...@gmail.com> wrote:
> 这几天学习perl thread ,版本是5.10 ,我做了个与socket结合聊天的小例子,一个socket server , 每个监听到的
> client, 服务器都会创建一个thread去接受client 的信息。
>
> 情景: 我想实现一个client 可以选择聊天的对象, 我的想法是将所有的client发在一个hash 中, 当一个聊天的请求到来时,在这个
> hash中找到对应的client socket 进行发送。因为这个hash是主线程的,应该都可以访问到。
>
> 问题:1 这个client socket 可能同时发生 接收和发送的信息的并发, 会产生错误,
> 2 我如何实现这种聊天情况
>
> 补充 : 我不想用IO::select 轮询
>
> 谢谢各位。
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

没有评论: