python - Python 中的客户端服务器套接字编程

标签 python

我有Python上的客户端服务器套接字程序。 在客户端和服务器中我都使用环回地址。 但请协助如何使用此代码并在不同的客户端服务器计算机上应用 例如(服务器 IP 192.168.1.4 和客户端 IP 192.168.1.5)

# Server program

from socket import *

host = "localhost"
port = 21567
buf = 1024
addr = (host,port)

UDPSock = socket(AF_INET,SOCK_DGRAM)
UDPSock.bind(addr)

while 1:
    data,addr = UDPSock.recvfrom(buf)
    if not data:
        print "Client has exited!"
        break
    else:
        print "\nReceived message '", data,"'"


UDPSock.close()


# Client program

from socket import *


host = "localhost"
port = 21567
buf = 1024
addr = (host,port)


UDPSock = socket(AF_INET,SOCK_DGRAM)

def_msg = "===Enter message to send to server===";
print "\n",def_msg


while (1):
    data = raw_input('>> ')
    if not data:
        break
    else:
        if(UDPSock.sendto(data,addr)):
            print "Sending message '",data,"'....."

UDPSock.close()

最佳答案

在服务器代码中使用 '192.168.1.5'(客户端地址),而不是 'localhost''192.168.1.4' > (服务器的地址)在客户端代码中。

通常,服务器不需要事先知道客户端的地址,但 UDP 在很多方面都比 TCP(更常见的、面向流的套接字通信方法)更复杂;-)。

关于python - Python 中的客户端服务器套接字编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3541611/

相关文章:

python - 如何使用 Py2Neo 修复 Linux 上的 IncompleteRead 错误

python - <unknown> 不是 numpy 数组错误

python - 为什么队列是查找最近调用数量的最佳方法? 【Leetcode问题】

python - 在 NumPy 中忽略除以 0 警告

python - 检查属性是否存在的最佳方法是什么?

python - 无法在 python 3.9 版中安装 numpy

Python 多处理 + 日志记录挂起

python - Django 的霰弹枪?

python - 将数据作为参数或文件从 python 发送到 c++?

python - NetBox 安装期间出错,无法使用 manage.py 创建 super 用户