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

  • 相关阅读:
    2019 SDN上机第2次作业
    2019 SDN上机第1次作业
    第07组 团队Git现场编程实战
    第二次结对编程作业
    c语言之问题集
    2019春第2次课程设计实验安排
    2019年十二周总结
    第十一周总结
    第十周作业
    第九周总结
  • 原文地址:https://www.cnblogs.com/milantgh/p/4394520.html
Copyright © 2011-2022 走看看