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

    ##### 愿你一寸一寸地攻城略地,一点一点地焕然一新 #####
  • 相关阅读:
    eclipse中配置jbpm3.2插件
    传统分页功能的实现
    struts的status属性
    OA项目中的论坛模块设计与实现
    高并发
    Python下编写Windows自动化测试软件
    Windows GUI自动化测试技术的比较和展望
    Windows Automation API和自动化测试
    MSAA简介
    QQ截图时窗口自动识别的原理(WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx,RealChildWindowFromPoin
  • 原文地址:https://www.cnblogs.com/johnyang/p/12367516.html
Copyright © 2011-2022 走看看