• 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


    本性的苏醒,往往在遭遇真实之后。
  • 相关阅读:
    SG函数(斐波那契博弈) Fibonacci again and again
    poj
    威佐夫博弈
    Java——类的定义
    链队列——出入队列
    Java——写一个求和 “方法”
    巴什博弈 HDU-1846
    链栈——入栈和出栈
    java——基本数据类型
    JAVA——桌球游戏(动画)
  • 原文地址:https://www.cnblogs.com/chance88/p/6555562.html
Copyright © 2020-2023  润新知