Socket编程 php 与 java 通信 问题

问题描述

服务器端用java线程写Socket备注:其他无关代码不发了,主要部分发下System.out.println("Socket["+this.server_id+"]connectionsuccess.");PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(this.server_socket.getOutputStream())),true);out.println("Socket["+this.server_id+"]welcomeclient");BufferedReaderin=newBufferedReader(newInputStreamReader(this.server_socket.getInputStream()));Stringss;ss=in.readLine();out.println("test_outputs");下面是PHPWEB客户端代码:$fp=fsockopen("192.168.0.119",5000,$errno,$errstr,30);stream_set_timeout($fp,30);stream_set_blocking($fp,true);if(!$fp){die("error".$errstr."".$errno);}else{echo($tmp=fgets($fp))."<br>";$status=stream_get_meta_data($fp);//发送数据超时if($status['timed_out']){echo"read1timeout";fclose($fp);die();}echo"linksuccess!"."<br>";}fputs($fp,"order1");echo"fputsorder1";$tmp=fgets($fp);$status=stream_get_meta_data($fp);//发送数据超时if($status['timed_out']){echo"read2timeout";fclose($fp);die();}问题:客户端在读取服务器端发过来数据后又发送了数据过去,然后又读取服务器端发来的数据,为什么两个读取中间夹一个发送数据,第2个读取一直读不到,一直超时,无论等多少时间都超时。是不是有什么机制在?请高手回答

解决方案

解决方案二:

解决方案三:
PHP的不懂,飘过,友情帮顶
解决方案四:
谢谢!有谁知道吗
解决方案五:
我再简单说吧,我用JAVA做了个socket服务端,用PHP去链接它,问题出来了:每次只要从PHP端传到服务器端数据后,再读从服务器端发来的数据就读不了了。为什么也就是fputs()后再fgets()就读不了了,超时了。
解决方案六:
java的stream一般有缓存,最好是在每次write之后flush一下!
解决方案七:
没用的,还是一样

时间: 2024-09-20 05:40:38

Socket编程 php 与 java 通信 问题的相关文章

深入浅出php socket编程_php实例

对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1.什么是TCP/IP.UDP? 2.Socket在哪里呢? 3.Socket是什么呢? 4.你会使用它们吗? 什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的. UDP(User Data Protocol

java-Java socket编程基础概念问题

问题描述 Java socket编程基础概念问题 本地地址,本地链接地址代表什么意思啊,具体有什么作用,请大神给出解答 解决方案 本地地址,本地链接地址对应应该是 远程地址和远程链接地址简单一些理解就类似于目录,用于访问资源 解决方案二: Socket 编程基础概念java socket编程(基础)java Socket编程基础

Java Socket编程----通信是这样炼成的

Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket.像大家熟悉的QQ.MSN都使用了Socket相关的技术.下面就让我们一起揭开Socket的神秘面纱. Socket编程 一.网络基础知识(参考计算机网络) 关于计算机网络部分可以参考相关博客: TCP/IP协议栈及OSI参考模型详解> http://wangdy.blog.51cto.com/3845563/1588379 1.两台计算机间进行通讯需要以

java-急求Java socket编程实现两个客户端通信通过服务器转发不要图形界面不用连接数据库

问题描述 急求Java socket编程实现两个客户端通信通过服务器转发不要图形界面不用连接数据库 实现两个客户端通信通过服务器转发不要图形界面不用连接数据库 求源码 解决方案 通过服务器,也就是说各个客户端与服务器要正常通讯,这是最基本的要求.这个要求应该不难吧,网上有很多类似的代码,如Android Socket 编程(WIFI 和 ADB),这是我在 CSDN 博客中的一篇文章,希望对你有帮助. 然后呢,做协议,当服务器接收到数据满足一定的格式.或所有数据,都转发到另一端. 解决方案二:

c++ 编程问题-c++与java通信(socket TCP)c++用的默认的编码,java用的UTF-8 怎么解决中文乱码问题

问题描述 c++与java通信(socket TCP)c++用的默认的编码,java用的UTF-8 怎么解决中文乱码问题 c++代码如下,谁可以试着尝试一下,谢谢 #include #include #include #pragma comment(lib,"ws2_32.lib") void main() { //创建套接字 WORD myVersionRequest; WSADATA wsaData; myVersionRequest=MAKEWORD(1,1); int err;

socket通信-关于socket编程在java与c下的传输问题

问题描述 关于socket编程在java与c下的传输问题 最近在做一个项目,使用c写的客户端,用java写的服务器,客户端传输结构体,采用函数memcpy转换为字符串传输,那么在服务器端应该如何接受并解析??目前为止本人一直接受到的都是乱码 解决方案 Java Socket 网络编程问题剖析Java socket编程时readLine()问题网络编程感想(一)基于socket传输延迟问题---------------------- 解决方案二: 检查双方编码是否一致? 解决方案三: 是不是输入流

java网络编程-java socket实现两台电脑通信

问题描述 java socket实现两台电脑通信 大学生 菜鸟一个 现在自己电脑创了 发送端,接收端,可行 然后同样的代码,将发送端目的ip改为宿舍一台电脑ip,就没反应了.怎么回事啊? 防火墙吗?还是ip地址不对.两台机一个网,一个是192.168.1.102,一台是103 解决方案 没反应是什么意思,指发送端? 解决方案二: 原因很多..硬件软件的可能性都有. 都会在中间阻止或者消亡http请求..最好把你的代码,和网络环境说一下. 解决方案三: 端口看看有没有被占用吧 解决方案四: 试试

读懂Java中的Socket编程(转)

Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的Socket编程,并且如何写一个客户端/服务器程序.  餐前甜点  Unix的输入输出(IO)系统遵循Open-Read-Write-Close这样的操作范本.当一个用户进程进行IO操作之前,它需要调用Open来指定并获取待操作文件或设备读取或写入的权限.一旦IO操作对象被打开,那么这个用户进程可以对

教你轻松读懂Java中的Socket编程

餐前甜点 Unix的输入输出(IO)系统遵循Open-Read-Write-Close这样的操作范本.当一个用户进程进行IO操作之前,它需要调用Open来指定并获取待操作文件或设备读取或写入的权限.一旦IO操作对象被打开,那么这个用户进程可以对这个对象进行一次或多次的读取或写入操作.Read操作用来从IO操作对象读取数据,并将数据传递给用户进程.Write操作用来将用户进程中的数据传递(写入)到IO操作对象. 当所有的Read和Write操作结束之后,用户进程需要调用Close来通知系统其完成对