java socket 与linux c 通信问题
97w211 : 2010-2-09 18:08 :
发表于 来源 科技复兴
如题,用java 做客户端,linux 的c 程序做服务器端。目前客户端向服务器端发
送信息已经没问题,但是在添加服务器端向客户端发送信息的功能时却出现了死
循环。在Eclipse 调试了一下客户端发现是在in.readLine()卡住了,具体代码如
下:
java 客户端:
Java code
package linux;
import java.net.*;
import java.*;
import java.util.*;
import java.io.OutputStream;
import java.io.InputStream;
import java.io.*;
import java.io.BufferedReader;
import java.net.InetSocketAddress;
public class java_c_client{
public static void main(String[] argv){
Socket socket null;
InputStream in null;
BufferedReader input null;
byte [] b new byte[5];
String url "219.216.101.210";
int PORT 9999;
try{
int num -1;
socket new Socket();
socket.setReuseAddress(true);
InetSocketAddress socketAddr new InetSocketAddress(url,
PORT);
System.out.println("ip "+socket.getInetAddress()+"\t
port "+socket.getLocalPort());
socket.connect(socketAddr);
DataOutputStream dos new
DataOutputStream(socket.getOutputStream());
System.out.println("ip "+socket.getInetAddress()+"\t
port "+socket.getLocalPort());
input new BufferedReader(new
InputStreamReader(socket.getInputStream()));
in socket.getInputStream();
byte[] buffer new byte[20];
in.read(buffer, 0, 20);
String name "hello";
//out socket.getOutputStream();
while(num -1){
//out socket.getOutputStream();]
System.arrayco