zoukankan      html  css  js  c++  java
  • python之字符聊天小工具

    server side:

    # coding: gb2312
    #socket server端
    #获取socket构造及常量
    from socket import *
    #''代表服务器为localhost
    myHost = ''
    #在一个非保留端口号上进行监听
    myPort = 50007

    #设置一个TCP socket对象
    sockobj = socket(AF_INET, SOCK_STREAM)
    #绑定它至端口号
    sockobj.bind((myHost, myPort))
    #监听,允许5个连结
    sockobj.listen(5)

    #直到进程结束时才结束循环
    while True:
        #等待下一个客户端连结
        connection, address = sockobj.accept( )
        #连结是一个新的socket
        print 'Server connected by', address
        while True:
            #读取客户端套接字的下一行
            data = connection.recv(1024)
            
            print "对方回复:", data
            
            #如果没有数据的话,那么跳出循环
            message = raw_input("QQ聊天:")
            connection.send(message)
        #当socket关闭时eof
        connection.close( )

    client side:

    # coding: gb2312
    import sys
    from socket import *
    serverHost = '192.168.159.3'
    serverPort = 50007

    #发送至服务端的默认文本
    message = ['Hello']
    #如果参数大于1的话,连结的服务端为第一个参数
    if len(sys.argv) > 1:
        serverHost = sys.argv[1]
        #如果参数大于2的话,连结的文字为第二个参数
        if len(sys.argv) > 2:
            message = sys.argv[2:]

    #建立一个tcp/ip套接字对象
    sockobj = socket(AF_INET, SOCK_STREAM)
    #连结至服务器及端口
    sockobj.connect((serverHost, serverPort))

    while True:
        message = raw_input("QQ聊天:")
        sockobj.send(message)
        #从服务端接收到的数据,上限为1k
        data = sockobj.recv(1024)
        #确认他是引用的,是'x'
        print '对方回复:', repr(data)
    #关闭套接字
    sockobj.close( )

  • 相关阅读:
    HDU 3695 Computer Virus on Planet Pandora (AC自己主动机)
    Crawley Project · Crawley Project
    Ubuntu下deb包的安装方法
    Google Chrome 59 Released – Install on Debian, Ubuntu and Linux Mint
    如何从 WEB 页面中提取信息 | Binuxの杂货铺
    Binuxの杂货铺 Data Highlighter
    pyspider爬京东商品信息案例分享
    Token bucket
    debian8上安装pyspider
    求助下 Ubuntu 15.10(64 位)下安装 pyspider 下的问题
  • 原文地址:https://www.cnblogs.com/milantgh/p/4394520.html
Copyright © 2011-2022 走看看