主题:GPRS客户端连接服务端(java)为什么只能连接一次?? 共有48450人关注过本帖 |
---|
明德科技 |
1楼 |
![]() |
GPRS客户端连接服务端(java)为什么只能连接一次?? ![]()
现在的问题是,开启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楼 |
![]() |
![]()
对TCP连接,每次的local port number应当不一样,一般是调用myport()函数得到。请确认这点。
|
单帖管理 | 引用 | 回复 ![]() |
明德科技 |
3楼 |
![]() |
![]()
您说的不一样应该是GPRS客户端的吧,我上面的代码是放在服务器上的,纯java写的。
|
单帖管理 | 引用 | 回复 ![]() |
x10 |
4楼 |
![]() |
![]()
无论服务器用什么语言写,原则正确就应当连接正常。可先用我们的TCPtest(VC编写)作为服务器测试与GPRS客户端连接正常,再启动你自己的服务器程序,这样就比较好发现问题。
|
单帖管理 | 引用 | 回复 ![]() |