drny60365 2014-07-22 16:04
浏览 48

套接字服务器不向php客户端发送数据

I am trying to create a communication between a socket server in java and a php client however apparently no data is sent from server to client. I have tried plenty of methods for writing data to socket but none of those did work although i am able to send data from client to server.

Server side code

int port = 5566, maxConnections = 0;
int nrCon=0;

ServerSocket listener = new ServerSocket(port);
Socket server;

while((nrCon++<maxConnections)|| (maxConnections ==0)){
    server = listener.accept();
    BufferedReader in = new BufferedReader (new InputStreamReader(server.getInputStream()));
    BufferedWriter out = new BufferedWriter( new OutputStreamWriter( server.getOutputStream() ) );
    //PrintWriter out = new PrintWriter(server.getOutputStream(), true); 
    //ObjectOutputStream oos = new ObjectOutputStream(server.getOutputStream());
    //DataOutputStream os = new DataOutputStream(server.getOutputStream());

    String line, data="";
    while((line = in.readLine())!= null ){

        System.out.println("wowowoowow");
        data = data + line;
        String[] coords = data.split(" ");
    }

    out.print("ROUTE DIJKSTRA: 
");
    //out.flush();
    //os.writeUTF("testetstets");

client side code

$PORT = 5566;
$HOST = "localhost";

$sock = socket_create(AF_INET, SOCK_STREAM, 0)
or die("error: could not create socket
");

$succ = socket_connect($sock, $HOST, $PORT) 
or die("error: could not connect to host
");
socket_set_nonblock($sock);

if ( $_POST['v_lat']=="undefined"  && $_POST['v_lng']=="undefined" ){
    $text = "$sLng $sLat $dLng $dLat";
}else{
    $vLat = $_POST['v_lat'];
    $vLng = $_POST['v_lng'];
    $text = "$sLng $sLat $vLng $vLat $dLng $dLat";
}

$sent = socket_write($sock, $text, strlen($text)+1);
$sock_err = socket_last_error($sock);
if ($sent === false) {
    echo "could not send data to server
";
    break;
}else {
    echo "sent ".$sent." bytes
";
}
echo "sock error send: ".$sock_err." 
";

$result = socket_read ($sock, 2048);
$sock_err = socket_last_error($sock);
echo "sock err: ".$sock_err." 
";
echo "Reply From Server  :".$result;

What i do get from sock_err call is the error code 10035 which is apparently for server not sending the data no matter how many socket writing data methods i tried. I ran out of ideas.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥100 任意维数的K均值聚类
    • ¥15 stamps做sbas-insar,时序沉降图怎么画
    • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
    • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
    • ¥15 关于#Java#的问题,如何解决?
    • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
    • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
    • ¥15 cmd cl 0x000007b
    • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
    • ¥500 火焰左右视图、视差(基于双目相机)