欢迎来到天天文库
浏览记录
ID:40958170
大小:111.00 KB
页数:12页
时间:2019-08-11
《网络编程技术第七次课Socket编程(3)代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1)第一个程序:ChatServerJFrame_TCP.java/***@完成一个图形界面的流式套接字聊天程序单线程,一对一聊天这是服务器端程序*/publicclassChatServerJFrame_TCPextendsJFrameimplementsActionListener{ServerSocketserSkt;SocketscSkt;DataInputStreamdin;DataOutputStreamdout;JTextAreamsg;JTextFieldtxt_str_send
2、;JButtonsendBtn,exitBtn;ChatServerJFrame_TCP(){setTitle("聊天室-服务器");msg=newJTextArea(100,250);msg.setBackground(Color.white);msg.setEditable(false);add(msg);//存放双方聊天记录的文本区JLabelsend_lbl=newJLabel("请输入要发送的消息");txt_str_send=newJTextField(20);txt_str_sen
3、d.addActionListener(this);//发送内容文本框sendBtn=newJButton("发送");sendBtn.addActionListener(this);//发送按钮exitBtn=newJButton("退出");exitBtn.addActionListener(this);//退出按钮JPaneljp=newJPanel();jp.add(send_lbl);jp.add(txt_str_send);jp.add(sendBtn);jp.add(exitBtn
4、);add(jp,BorderLayout.SOUTH);setSize(500,400);//setLocation(400,400);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);try{serSkt=newServerSocket(6600);//在6600端口监听scSkt=serSkt.accept();din=newDataInputStream(scSkt.getInputStream());dout
5、=newDataOutputStream(scSkt.getOutputStream());//返回socket的数据输入流和输出流}catch(IOExceptione){12e.printStackTrace();}}publicvoidsendMessage(){//发送方法try{StringstrToClient=txt_str_send.getText().trim();//提取文本框输入内容if(strToClient.equals("")){//发送内容不能为空JOptionPa
6、ne.showMessageDialog(null,"发送内容不能为空");txt_str_send.requestFocus();return;}else{//将内容发送给客户机,同时显示在聊天记录文本区中dout.writeUTF(strToClient);msg.setForeground(Color.red);msg.append("服务器说:"+strToClient+"");txt_str_send.setText("");}}catch(IOExceptionie1){ie1.
7、printStackTrace();}}publicvoidreceiveMessage(){//接受信息方法try{while(true){//可以不断地接收对方发送过来的消息StringstrFromClient=din.readUTF();msg.setForeground(Color.red);msg.append("客户端说:"+strFromClient+"");}}catch(IOExceptionie2){msg.append("您的聊天客户已经离开了!"+"");}fi
8、nally{try{din.close();dout.close();scSkt.close();}catch(IOExceptionex){ex.printStackTrace();}System.exit(0);}}12publicvoidactionPerformed(ActionEvente){if(e.getSource()==txt_str_send){sendMessage();}elseif(e.getSource()==sendBtn){sendMessage();}elsei
此文档下载收益归作者所有