如何将终端窗口聊天应用程序(使用Socket编程构建,使用python编写)转换为Web应用程序?

因此,我编写了一个在终端窗口中运行良好的聊天应用程序:
GitHub Source

现在,我想要转换为Web聊天应用程序,以便我的朋友可以从他们的网络连接/聊天/测试它.但是,我对如何进行一无所知!

请帮我.建议我可以使用哪些技术使其在网站上可用?

解决方法:

看起来您已经编写了Python服务器来处理Python聊天客户端,并且希望将其扩展到Web客户端.

我建议使用诸如PubNub之类的实时网络在您的聊天客户端和服务器之间中继数据.使用实时网络意味着您可以花费更少的时间来担心诸如并发之类的低级套接字问题,而将更多的时间用于构建应用程序.

对于PubNub,Python SDK将允许您的服务器订阅聊天频道,而JavaScript SDK将帮助基于Web的客户端.您可以使用此博客文章Build Real-Time Chat Apps in 10 Lines of Code中的代码构建一个基于JavaScript的简单Web客户端.

Enter Chat and press enter
<div><input id=input placeholder=you-chat-here /></div>

Chat Output
<div id=box></div>

<script src=http://cdn.pubnub.com/pubnub.min.js></script>
<script>(function(){
  var box = PUBNUB.$('box'), input = PUBNUB.$('input'), channel = 'chat';
  PUBNUB.subscribe({
    channel : channel,
    callback : function(text) { box.innerHTML = (''+text).replace( /[<>]/g, '' ) + '<br>' + box.innerHTML }
  });
  PUBNUB.bind( 'keyup', input, function(e) {
    (e.keyCode || e.charCode) === 13 && PUBNUB.publish({
      channel : channel, message : input.value, x : (input.value='')
    })
  } )
})()</script>

然后,在您的Python服务器上,您可以订阅相同的聊天频道:

# Listen for Messages *BLOCKING*
def receive(message) :
  broadcast_data(message) #This is using your Python function from your github link
  return True

pubnub.subscribe({
  'channel'  : 'chat',
  'callback' : receive 
})

让我知道这是否适合您.祝好运!

上一篇:android-Scringo群聊功能


下一篇:PHP-快速,可靠地更新聊天室的最佳方法?