PHP 如何和 C# 通过SOKET进行通信
希望能有详细的例子

解决方案 »

  1.   

    没做过
    要有一人做监听服务器第二个是soap请求第三个注意参数类型是不是一样
      

  2.   

    <?php
    if(!extension_loaded('sockets'))
    { dl('php_sockets.dll'); }
    // server
    // 设置错误处理
    error_reporting (e_all);
    // 设置运行时间
    set_time_limit (0);
    // 起用缓冲
    ob_implicit_flush ();
    $socket = socket_create (AF_INET,SOCK_STREAM,SOL_TCP); // 创建一个socket
    if ($socket)
    echo "socket_create() successed!\n";
    else
    echo "socket_create() failed:".socket_strerror ($socket)."\n";
    // 绑定一个socket
    $address="127.0.0.1";
    $ret = socket_bind($socket, $address , 2009 );
    if ($ret)
    echo "socket_bind() successed!\n";
    else
    echo "socket_bind() failed:".socket_strerror ($bind)."\n";$listen = socket_listen ($socket);  // 间听socket
    if ($listen)
    echo "socket_listen() successed!\n";
    else
    echo "socket_listen() failed:".socket_strerror ($listen)."\n";while (true)
    {
    $msg = socket_accept ($socket);  // 接受一个socket
    if (!$msg)
    {
    echo "socket_accept() failed:".socket_strerror ($msg)."\n";
    break;
    }
    $welcome = "welcome to php server!\n";
    socket_write ($msg, $welcome, strlen ($welcome));
    while (true)
    {
    $command = strtolower (trim (socket_read ($msg, 1024)));
    if (!$command)
    break;
    switch ($command)
    {
    case "hello":
    $writer = "hello everybody!";
    break;
    case "quit":
    $writer = "bye-bye";
    break;
    case "help":
    $writer = "hello\tquit\thelp";
    break;
    default:
    $writer = "error command!";
    }
    socket_write ($msg, $writer, strlen ($writer));
    if ($command == "quit")
    break;
    }
    socket_close ($msg);
    }socket_close ($socket);  // 关闭socket
    ?>
      

  3.   

    socket_create() successed! socket_bind() failed:操作成功完成。 socket_listen() failed:操作成功完成。 socket_accept() failed:操作成功完成。
    运行结果如上面。
    请高手指点
      

  4.   

     php socket  不需要管 server 端是何种语言写的...so....