zoukankan      html  css  js  c++  java
  • Python:socket初学总结

      看了一点点的《python网络编程基础》,socket的简单客户端伪代码如下:

    #客户端
    
    import socket
    
    host=***
    port=***
    
    #创建一个socket,告诉系统需要一个Internet socket来进行TCP通信:
     s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
    #通过port端口连接host主机:
    s.connect((host,port))           #这里必须用到一个元组(tuple),否则异常
    
    #主循环:
    while True:
        data=raw_input('Information:')
        if not data:
            break
        s.send(data)                 #发送data到服务器缓存
       recver=s.recv(2048)           #从服务器缓存中接收内容,2048为缓存大小
       print recver
    s.close()                        #关闭客户端
    

     随后,试了自己去编写一个最最最简单的服务端/客户端的socket聊天程序,亲测成功,哈哈..

    截图:

    服务端:

    #服务端
    
    import socket
    
    host='127.0.0.1'
    port=12342
    
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.bind((host,port))
    s.listen(5)
    
    while True:
        print 'Waiting for connection..'
        clientsock,addr=s.accept()
        print 'Connected from:',addr
    
        while True:
            recver=clientsock.recv(2048)
            if not recver:
                break
            print recver
            data=raw_input('Server_Send:')
            if not data:
                break
            clientsock.send('Server said:%s' % data)
    

     客户端:

    #客户端
    
    import socket
    
    host='127.0.0.1'
    port=12342
    
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect((host,port))
    
    while True:
        data=raw_input('Client_Send:')
        if not data:
            break
        
        s.send('Client said:%s' % data)
        recver=s.recv(2048)
        if not recver:
            break
        print recver
    
    s.close()
    

     这仅仅是一个很简单超简单的程序,缺点如下:

      1.半双工通信

      2.太简单了!没用!

    所以说...还得努力改进!

    !
  • 相关阅读:
    Scrapy框架基础使用
    python爬虫练习--爬取今日头条街拍图片
    python爬虫练习--爬取所有微博
    python爬虫练习--爬取猫眼热映口碑榜
    python练习---校园管理系统
    python爬虫练习--爬取猫眼top100电影信息
    基础篇-Python的urllib库
    1--爬虫环境安装篇
    Confluence 如何查看页面 ID
    导入 Gradle 项目到 IntelliJ IDEA
  • 原文地址:https://www.cnblogs.com/LittlePythoner/p/2853283.html
Copyright © 2011-2022 走看看