Re: [問題] 請教Socket使用上的問題

看板java作者 (淺水中)時間17年前 (2007/06/03 10:25), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《del680202 (飄落的櫻花)》之銘言: : ※ 引述《superkeller (什麼都不管)》之銘言: : : 程式po上來看看 : : 有可能你對socket同時建了二個outputstream(照理說只有一個refference) : : 我學藝不精,謹供參考. : 這是client的 部分程式碼 : private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { : // TODO add your handling code here: : try{ : client=new Socket("127.0.0.1",44445); : // client.connect(client.getRemoteSocketAddress()); : dos=new ObjectOutputStream(client.getOutputStream()); : dos.writeInt(1); : dos.writeObject(name+":"+this.jTextField2.getText()); : //------------------------- Send end : /* this.jTextArea1.append(client.getRemoteSocketAddress()+""); : dis=new ObjectInputStream(client.getInputStream()); : String aline=(String)dis.readObject(); : this.jTextArea1.append(aline+"\n"); : //------------------------ Read end : dis.close();*/ : dos.close(); : client.close(); : }catch(Exception e){ this.jTextArea1.append(e.toString());} : } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { : // TODO add your handling code here: : try{ : client=new Socket("127.0.0.1",44445); : // client.connect(client.getRemoteSocketAddress()); : dos=new ObjectOutputStream(client.getOutputStream()); : dos.writeInt(1); : dos.writeObject(name+":"+this.jTextField2.getText()); : //------------------------- Send end : /* this.jTextArea1.append(client.getRemoteSocketAddress()+""); : dis=new ObjectInputStream(client.getInputStream()); : String aline=(String)dis.readObject(); : this.jTextArea1.append(aline+"\n"); : //------------------------ Read end : dis.close();*/ : dos.close(); : client.close(); : }catch(Exception e){ this.jTextArea1.append(e.toString());} : private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { : // TODO add your handling code here: : try{ : client=new Socket("127.0.0.1",44445); : dos=new ObjectOutputStream(client.getOutputStream()); : name=this.jTextField1.getText(); : dos.writeInt(0); : dos.writeObject(this.jTextField1.getText()); : //-------------------------------------------- : dos.close(); : ObjectInputStream dis=new ObjectInputStream(client.getInputStream()); : this.jTextArea1.append((String)dis.readObject()); : // client.close(); : }catch(Exception e){ : this.jTextArea1.setText(e.toString()+"QQ"); : } : this.jPanel1.setVisible(false); : this.jPanel2.setBounds(0,0,400,400); : this.jPanel2.setVisible(true); : } : 某些部分註解起來 是測試用的 不懂為什麼你怎麼每次做一個action都create一個socket 你的socket連線和OutputStream應該要一開始就做好 actionPerformed只是做write東西出去而已 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.105.36
文章代碼(AID): #16OYQ1Wc (java)
文章代碼(AID): #16OYQ1Wc (java)