当前位置: 代码迷 >> J2SE >> 关于TCP的一个疑问,该怎么解决
  详细解决方案

关于TCP的一个疑问,该怎么解决

热度:77   发布时间:2016-04-24 12:58:28.0
关于TCP的一个疑问
Java code
//类一:try {     ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());     reception = ois.readObject();     ois.close();     socket.close(); //关闭Socket} catch (Exception e) {     e.printStackTrace();}//类二:public Object reqInfo (Object req , Socket socket){     ArrayList al = (ArrayList) req;     al.add(socket);     Object obj = (Object) al;     return obj;}//类三:public void jud_do(Object temp){al = (ArrayList)temp;sokect = al.get(X).toString();//X代表类二中socket存的位置receiveRequest(socket)}  //类四:public void receiveRequest(Socket socket) {        this.socket = socket;         try {            ObjectOutputStream oos= new ObjectOutputStream(socket.getOutputStream());            oos.writeObject(reception);            oos.flush();            oos.close();            socket.close(); //关闭Socket        } catch (Exception e) {            e.printStackTrace();        }}

不知道这样做有没有问题?!请达人们帮忙解决一下,小弟对网络方面很菜的,请指教!!!

------解决方案--------------------

------解决方案--------------------
mark
------解决方案--------------------
做为一个toy program已经没有什么太大的问题了。
你如果还要想做深点,不妨用下连接池。
------解决方案--------------------
看着头晕...

1.socket未指定Host和Port
2.看不清楚服务端和客户端,看不清楚程序要干嘛,一般来说socket 的server端只启用一个进程在运行即可,其内部是有队列的
3.类三里,sokect = al.get(X).toString();//X代表类二中socket存的位置
这句已经变成String了,又把其做为参数传到方法receiveRequest(socket);里,而该方法的参数类型却是Socket socket
------解决方案--------------------
mark
  相关解决方案