2.7 TCP套接字编程

2.7 TCP套接字编程

2.7.1 UDP套接字编程

环境:主机win10-Server,虚拟机win7-Client,python3

  1. UDPClient.py

    from socket import *
    
    serverName = '192.168.***.***' # 这里用你们自己主机的ip address
    serverPort = 12000
    clientSocket = socket(AF_INET, SOCK_DGRAM)
    # 第一个参数指示了地址簇;特别是,AF_INET指示了底层网络使用IPv4
    # 第二个参数指示了该套接字是SOCK_DGRAM类型,这意味着它是一个UDP套接字
    message = input('Input lowercase sentence :')
    clientSocket.sendto(message.encode(), (serverName, serverPort))
    # 这里sendto的message记得编码encode
    modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
    print(modifiedMessage)
    clientSocket.close()
    
  2. UDPServer.py

    from socket import *
    
    serverPort = 12000
    serverSocket = socket(AF_INET, SOCK_DGRAM)
    # 这里同上
    serverSocket.bind(('', serverPort))
    # ip地址和端口号,ip一般不用写,表示本机的任何一个ip
    print('The server is ready to receive.')
    message, clientAddress = serverSocket.recvfrom(2048)
    modifiedMessage = message.upper()
    # 转为大写后再返回回去
    serverSocket.sendto(modifiedMessage, clientAddress)
    serverSocket.close()
    
  3. Runtime

    1)Server运行UDPServer.py
    在这里插入图片描述
    2)Client运行UDPClient.py
    在这里插入图片描述
    输入完之后,press key-enter
    在这里插入图片描述
    返回了大写的结果,运行结束。

2.7.2 TCP套接字编程

  1. TCPClient.py

    from socket import *
    
    tcpClientSocket = socket(AF_INET, SOCK_STREAM)
    
    serverAddress = ("192.168.1.***", 7788)  # 这个地方你们用自己的ip
    tcpClientSocket.connect(serverAddress)
    
    sentence = input("Please input one sentence: ")
    tcpClientSocket.send(sentence.encode())
    
    receiveData = tcpClientSocket.recv(1024)
    print("Received data is : ", receiveData.decode())
    
    tcpClientSocket.close()
    
    
  2. TCPServer.py

    from socket import *
    
    tcpServerSocket = socket(AF_INET, SOCK_STREAM)
    address = ("", 7788)
    tcpServerSocket.bind(address)
    tcpServerSocket.listen(5)
    print("Listening...")
    
    newSocket, clientAddress = tcpServerSocket.accept()
    print("Connection building...", clientAddress)
    
    receiveData = newSocket.recv(1024)
    print("Received Data is : ", receiveData.decode())
    
    newSocket.send(receiveData.upper())
    
    newSocket.close()
    tcpServerSocket.close()
    
  3. Runtime

    1. win10-Server运行TCPServer.py
      在这里插入图片描述
      ​ 2)win7-Client运行TCPCliet.py
      在这里插入图片描述
      输入完之后,press key-enter
      在这里插入图片描述
      在这里插入图片描述
      同样返回了大写的结果,运行结束。

参考博客

  1. python网络-Socket之TCP编程(26)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值