• Most simple basic of internet programming based on two different machines sharing the same local net


    This blog is just shown for the most simple basic of internet programming based on two different machines sharing the same local net.While the client sends data to server, server just sends back data with timestamps

    Server

    (1)Parameter configure

    import socket
    from time import ctime
    
    Host=""   # host name,default to server machine's IP
    
    Port=1300 
    
    addr=(Host,Port) 
    
    Bufsize=1024 # The maximum amount of data to be received at once is specified by bufsize
    

    (2)Create server

    Server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    

    AF-->address family,such as AF_LOCAL,AF_INET;SOCK_STREAM specifies using TCP,while SOCK_DGRAM specifies UDP.

    Server.bind(addr)
    
    Server.listen(5)
    

    while True:
    print('...Waiting to be connected...')
    client,address=Server.accept() # default to be block mode,that is blocking while waiting. input() also has a flavor of block
    while True:
    data=client.recv(Bufsize)
    if not data:
    break
    print(data)
    client.send(bytes(ctime(),'utf8')+data)
    client.close()

    Server.close()

    ** In a summary**, server is just created as a socket object through socket.socket(),and then bind() this socket object with the machine, and then listen(), following that, going into

    Client

    Parameter config

    import socket
    
    Host='192.168.1.7'
    

    Host number can be checked out by this: On the server machine,cmd-->ipconfig/all--->IPv4 address:192.168.1.7

    Port=1300 # The same with server's port 
    
    Address=(Host,Port)
    
    BufSize=1024
    

    Create client

    Client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    

    Client.connect(Address)

    While True:
    data=input('>>>')
    if not data:
    break
    Client.send(bytes(data,'utf8'))
    data=Client.recv(BufSize)
    if not data:
    break
    print(data.decode('utf8'))

    Client.close()

    ##### 愿你一寸一寸地攻城略地,一点一点地焕然一新 #####
  • 相关阅读:
    Spring ContextLoaderListener
    判断整数是否是对称数
    jstl缺包时的报错
    Spring初始化日志
    C# 网络编程之最简单浏览器实现
    Java实现 蓝桥杯 算法训练 Anagrams问题
    Java实现 蓝桥杯 算法训练 出现次数最多的整数
    Java实现 蓝桥杯 算法训练 出现次数最多的整数
    Java实现 蓝桥杯 算法训练 字串统计
    Java实现 蓝桥杯 算法训练 字串统计
  • 原文地址:https://www.cnblogs.com/johnyang/p/12367516.html
Copyright © 2020-2023  润新知