玩蛇网提供最新Python编程技术信息以及Python资源下载!

用socket来搭建一个TCP的服务端啊,怎么才可以搭建?

目前想做一个聊天系统,服务端得要公网ip,所以想找一些网上的空间来托管我的服务端,但是找了sae,bae之类,无论哪种语言(java,node.js,python等)都不支持socket监听。我想用socket来搭建一个TCP的服务端啊,怎么才可以搭建?

SAE最近正在内测Channel功能,就是实现这个的。你可以去问问,能不能拿到邀请码。

感性的来看,云平台或虚拟主机空间,基本都不会提供主动运行守护进程的功能。

你的需求恐怕需要VPS。掏钱吧。

只要是IaaS这类就可以,例如AWS的EC2

来源: 1、 http://zh.wikipedia.org/wiki/%E9%9B%B2%E7%AB%AF%E9%81%8B%E7%AE%97

BAE、SAE那种是分布式的环境,并且都是内网运行,不可以对外开放端口的。买云计算主机去吧。

其实也不是不行的,bae的可以的。
不过不是直接用的socket而是socks

def app(environ, start_response):
    status = '200 OK'
    headers = [('Content-type', 'text/html')]
    start_response(status, headers)
    import socks, socket
    s = socks.socksocket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(("www.baidu.com",80))
    s.send("GET / HTTP/1.1\r\n\r\n")
    return s.recv(256)

from bae.core.wsgi import WSGIApplication
application = WSGIApplication(app)

想做聊天系统是吧,用底层的socket开发或许有点麻烦,你可以尝试socket.io,并在BAE、SAE上搭建。
这个东西似乎非常适合做聊天软件。

服务端

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

客户端

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

在客户端里,他会采取以下方式和服务器连接:

所以浏览器兼容方面题主应该不比太操心,官方表示连Internet Explorer 5.5都支持。

Appfog

楼上的观点可以采纳采纳!

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19961.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年06月01日 - 17时04分56秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules