Skip to main content
 首页 » 编程设计

php之使用 PHP 和 Python 的客户端服务器应用程序

2024年08月30日26oomusou

我正在尝试将数据从 PHP 客户端发送到 Python 服务器。

客户

<?php 
 
$host = "127.0.0.1"; 
$port = 2000; 
 
$output="datatatatatatta" ; 
 
$socket1 = socket_create(AF_INET, SOCK_STREAM,0) or die("Could not create socket\n"); 
 
socket_connect ($socket1 , $host,$port ) ; 
 
socket_write($socket1, $output, strlen ($output)) or die("Could not write output\n"); 
 
socket_close($socket1) ; 
 
 
?> 

服务器

import socket 
import sys 
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
 
host= 'VAC01.VACLab.com' 
port=int(2000) 
s.bind((host,port)) 
s.listen(1) 
 
conn,addr =s.accept() 
 
print (conn,addr) 
 
data=conn.recv(100000) 
data=data.decode("utf-8") 
 
s.close 
 
 
FILE = open("c:/vinod/vin.txt","w") 
FILE.write(str(data)) 
FILE.close() 

在客户端,我收到以下错误,。

Warning: socket_connect() [function.socket-connect]: unable to connect [0]: No connection could be made because the target machine actively refused it. in C:\xampp\htdocs\xampp\socket.php on line 10 
 
Warning: socket_write() [function.socket-write]: unable to write to socket [0]: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied. in C:\xampp\htdocs\xampp\socket.php on line 12 
Could not write output  

这样连接可以吗?

请您参考如下方法:

您绑定(bind)到的主机很可能不解析为 127.0.0.1 但连接到 127.0.0.1。那行不通。您有两个选择:

  1. 两边都使用127.0.0.1(或localhost)
  2. 在双方使用主机名 VAC01.VACLab.com