請教各位
小弟做了一個 php 連到 java 的程式
其目地是讓php 連到 java檔後, java 可以傳資料給 php
但是我發現, 只能傳一次, 第二次就傳不過去, java 這邊顯示已斷線
請各位指點一下
下面是php 的code
------------------------------------------------------
<?php
set_time_limit(0);
function testt()
{
$server = '192.168.30.1'; $port = 11111; $timeout=10;
$socket = @fsockopen($server, $port, $errno, $errstr, $timeout);
# if($socket){
$ttt = fread($socket, 4096);
echo "ttt:". $ttt ."\n\r<br>";
flush();
ob_flush();
sleep(1);
}
while(true){
testt();
}
?>
-----------------------------------------------------
下面這是java端的code
-----------------------------------------------------
import java.text.*;
import java.util.*;
import java.io.*;
import java.net.*;
class chatServer{
int _port = 11111;
ServerSocket server = null;
Socket client = null;
DataInputStream ins= null;
DataOutputStream outs= null;
//int chatFlag = -1;
int chatFlag = 0;
BufferedReader br = null;
public chatServer(){
try{
server = new ServerSocket(_port);
System.out.println("Server is created,waiting client...");
client = linkFromClient();
String msg = "";Boolean writeMsg = false;
try{
DataInputStream ins=new DataInputStream(client.getInputStream());
DataOutputStream outs=new DataOutputStream(client.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(true){
if(chatFlag == 0){
if(!writeMsg){
System.out.print("Server said(this computer):");
writeMsg=true;
}
msg = br.readLine();
outs.writeUTF(msg);
outs.flush();
chatFlag=0;
msg = "";
}else{
String clientMsg = ins.readUTF();
System.out.println("Client said:" + clientMsg);
chatFlag = 0;
writeMsg = false;
}
}
}catch(IOException er){
if(client!=null)client.close();
}finally{
try{
if(ins!=null)ins.close();
if(outs!=null)outs.close();
if(client!=null)client.close();
}catch(IOException er){}
}
}catch(IOException er){
System.out.println(er.toString());
}
}
Socket linkFromClient(){
try{
Socket c = server.accept();
System.out.print("Connect from " + c.getInetAddress() + " at ");
Date startDateTime=new Date();
String startTime = DateFormat.getDateInstance().format(startDateTime) + DateFormat.getTimeInstance().format(startDateTime);
System.out.print(startTime + "\r\n");
return c;
}catch(IOException er){
return null;
}
}
}
public class test3{
public static void main(String[] args) {
chatServer c = new chatServer();
}
}
----------------------------------------------------