zoukankan      html  css  js  c++  java
  • python网络编程(socket)

    python网络编程(socket)

    一、scoket介绍

    scoket:收消息,发消息

    服务端:

    1. scoket()
    2. bind()
    3. listen()
    4. accept()
    5. read()
    6. write()
    7. read()
    8. close()

    客户端:不用提供服务

    1. scoket()
    2. connect()
    3. writre()
    4. read()
    5. close()

    私有地址:192.168.....

         172.16

                  10.

    127.0.0.1 本机地址

    scoket类型:


     二、socket简单实例

    socket方法:

    服务端:

     1 #coding=utf-8
     2 from socket import*
     3 
     4 #监听套接字的连接和回应
     5 #服务器端
     6 myHost='' #‘’代表主机所有可用端口
     7 myPort=50007
     8 
     9 sockobj=socket(AF_INET,SOCK_STREAM)#创建一个TCP scoket 对象
    10 sockobj.bind((myHost,myPort))#绑定服务端口号
    11 sockobj.listen(5)#监听,允许5个挂起连接
    12 
    13 while True:#一直监听直到进程被杀死
    14     connection,address=sockobj.accept()#等待下个客户端连接
    15     print('Server connected by:',address)#连接是新的scoket
    16     while True:
    17         data=connection.recv(1024)#读取新的客户端scoket,for 循环接收
    18         if not data:break#发送接收报文给客户端
    19         connection.send(b'Echo get your message:'+data)#直到结束关闭scoket,发送只能是b,bite格式
    20     connection.close()

    客户端:

     1 #coding=utf-8
     2 import socket
     3 
     4 #客户端
     5 import sys
     6 from socket import *
     7 serverHost='localhost'
     8 serverPort=50007
     9 
    10 message=[b'hello network world']
    11 
    12 if len(sys.argv)>1:
    13     serverHost=sys.argv[1]
    14     if len(sys.argv)>2:
    15         message=(x.encode()for x in sys.argv[2:])
    16 
    17 sockobj=socket(AF_INET,SOCK_STREAM)
    18 sockobj.connect((serverHost,serverPort))
    19 
    20 for line in message:
    21     sockobj.send(line)
    22     data=sockobj.recv(1024)#1024字节
    23     print('Client received:',data)
    24 
    25 sockobj.close()

    运行结果:

    服务端:

    客户端:


    三、利用scoket实现ssh


    本性的苏醒,往往在遭遇真实之后。
  • 相关阅读:
    [学习笔记]信号基本概念(中断和信号)/名称及常用信号/信号处理/signal函数实践
    基于jquery的移动端JS无缝切换
    判断form表单每个input字段是否有内容
    整合常用功能的JS小组件库-v1.0
    获取网页可见区域的宽高(兼容各浏览器)
    判断网页上滚还是下滚
    文字溢出处理
    网页导航条滚动固定
    清除浮动
    CSS文字两端对齐
  • 原文地址:https://www.cnblogs.com/chance88/p/6555562.html
Copyright © 2011-2022 走看看