zoukankan      html  css  js  c++  java
  • 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()

    ##### 愿你一寸一寸地攻城略地,一点一点地焕然一新 #####
  • 相关阅读:
    斐波那契数列的量化分析
    GridView编辑删除操作
    Linux crontab 命令格式与具体样例
    VB.NET版机房收费系统---组合查询
    XMLHTTP使用具体解释
    Android 在子线程中更新UI的几种方法
    国产操作系统剽窃Linux内核可耻!
    Android的PVPlayer介绍
    稀疏矩阵
    很好的理解遗传算法的样例
  • 原文地址:https://www.cnblogs.com/johnyang/p/12367516.html
Copyright © 2011-2022 走看看