主题:GPRS客户端连接服务端(java)为什么只能连接一次??

  共有22998人关注过本帖    
明德科技
1楼


GPRS客户端连接服务端(java)为什么只能连接一次??  发帖心情 Post By:2006-1-17 17:20:00   [只看该作者]

现在的问题是,开启GPRS客户端后,可以向服务器端(java)发送一次数据,可是第二次就连接不上了,重起客户端后,又可以发送。请问,这种现象问题主要出在什么地方啊?

服务端的主要代码如下:
//Server.java
import java.io.*;
import java.net.*;
public class Server
{
    public static void main(String[] args) throws IOException 
    {
        boolean listening = true;
        try 
        {
            serverSocket = new ServerSocket(9624);    
        } 
        catch (IOException e) 
        {
            System.err.println("错误");
            System.exit(1);
        } 
    
        while(listening)
        {         
      new MultiServerThread(serverSocket.accept()).start();
        }             
        serverSocket.close();
    }
}



//MultiServerThread.java
import java.lang.*;
import java.net.*;
import java.io.*;
public class MultiServerThread extends Thread 
{
    private Socket socket = null;
    public MultiServerThread(Socket socket) 
    {   
this.socket = socket; 
    }
    public void run() 
    {
try 
{
    PrintWriter out = null;
    BufferedInputStream in = null;
      out = new PrintWriter(socket.getOutputStream(), true);
      in = new BufferedInputStream(socket.getInputStream());
      byte[] buf = new byte[255];        
      int bytes_read = 0;         
      bytes_read = in.read(buf);         
      DataProcess dataProcess = new DataProcess(buf,bytes_read); 
      dataProcess.process();          
      out.print("OK");
      out.flush();
    
     out.close();
    in.close();
    socket.close(); 

catch (IOException e) 
{
e.printStackTrace();
}
    }
}

//DataProcess.java 略

  单帖管理 | 引用 | 回复 回到顶部
x10
2楼


  发帖心情 Post By:2006-1-17 21:46:00   [只看该作者]

对TCP连接,每次的local port number应当不一样,一般是调用myport()函数得到。请确认这点。

  单帖管理 | 引用 | 回复 回到顶部
明德科技
3楼


  发帖心情 Post By:2006-1-18 9:10:00   [只看该作者]

您说的不一样应该是GPRS客户端的吧,我上面的代码是放在服务器上的,纯java写的。

  单帖管理 | 引用 | 回复 回到顶部
x10
4楼


  发帖心情 Post By:2006-1-18 10:11:00   [只看该作者]

无论服务器用什么语言写,原则正确就应当连接正常。可先用我们的TCPtest(VC编写)作为服务器测试与GPRS客户端连接正常,再启动你自己的服务器程序,这样就比较好发现问题。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

GPRS客户端连接服务端(java)为什么只能连接一次??

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: