2

我正在尝试将数据从 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 

可以这样连接吗?

4

1 回答 1

3

您绑定到一个很可能无法解析127.0.0.1但连接到的主机127.0.0.1。那是行不通的。你有两个选择:

  1. 在两边使用127.0.0.1(或)localhost
  2. VAC01.VACLab.com两边都使用主机名
于 2012-04-04T09:27:37.313 回答