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()

    ##### 愿你一寸一寸地攻城略地,一点一点地焕然一新 #####
  • 相关阅读:
    信创
    Tuxedo 学习记录
    独立软件开发商
    将博客搬至CSDN
    《Java从入门到放弃》JavaSE入门篇:网络编程(入门版)
    《Java从入门到放弃》JavaSE入门篇:练习——单身狗租赁系统
    《Java从入门到放弃》JavaSE入门篇:JDBC(入门版)
    《Java从入门到放弃》JavaSE入门篇:文件操作
    《Java从入门到放弃》JavaSE入门篇:单元测试
    《Java从入门到放弃》JavaSE入门篇:异常
  • 原文地址:https://www.cnblogs.com/johnyang/p/12367516.html
Copyright © 2011-2022 走看看