如何将终端窗口聊天应用程序(使用套接字编程构建,用python编写)转换为web应用程序



所以,我编写了这个聊天应用程序,它在终端窗口中运行良好:GitHub源代码

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

请帮帮我。建议我可以使用哪些技术在网站上发布?

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

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

在PubNub的情况下,Python SDK将允许您的服务器订阅聊天频道,而JavaScript SDK将帮助基于web的客户端。您可以使用以下博客文章中的代码构建一个简单的基于JavaScript的web客户端:用10行代码构建实时聊天应用程序。

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 
})

让我知道这是否适合你。祝你好运

最新更新