作者calais007 (浅水中)
看板java
标题Re: [问题] 请教Socket使用上的问题
时间Sun Jun 3 10:25:04 2007
※ 引述《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