使用TCP协议编写网络聊天程序.doc_第1页
使用TCP协议编写网络聊天程序.doc_第2页
使用TCP协议编写网络聊天程序.doc_第3页
使用TCP协议编写网络聊天程序.doc_第4页
使用TCP协议编写网络聊天程序.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用JDBC连接数据库准备工作:1. 安装SQL server20002. JDBC驱动程序,运行setup.exe,将下载的JDBC驱动程序包解压,得到3个.jar文件,将这3个文件放在jdkjrelibext目录下,或在classpath中配置相关的环境变量。3. 先下载安装SQL Server2000 SP3(SP4)的补丁4. 再下载安装SQL Server2000 SP3(SP4)的驱动程序连接数据库的四步曲:(1)注册厂商提供的JDBC驱动Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);(2)建立DBMS会话Connection conn = null;String url = “jdbc:odbc:database”;Conn = DriverManager.Statement();(3)创建SQL查询Statement stmt = conn.createStatement();(4)提交查询并接收查询结果String query = “SELECT * FROM Person WHERE Name = “ + ” “+name+”;ResultSet rs = null;Rs = stmt.executeQuery(query);流与文件:P180 使用字符流复制文件P184 使用字节流复制文件网络程序设计:使用TCP协议编写网络聊天程序备注:主要写两个类,一个服务器类,一个客户端类。红色为核心代码。server.javaimport java.io.* ;import .* ;import javax.swing.* ;import java.awt.* ;import java.awt.event.* ;public class server implements ActionListener JFrame frame; JTextArea textarea; JTextField text ; JButton send ; ServerSocket serversocket ; Socket socket ;DataOutputStream out ;DataInputStream in ;public server()frame=new JFrame(服务器) ;frame.setSize(300,250) ;frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;frame.setResizable(false) ;frame.setLocation(400,300);text=new JTextField(15) ;textarea=new JTextArea() ;send=new JButton(发送消息) ;send.addActionListener(this) ;frame.getContentPane().add(new JScrollPane(textarea),Center) ;JPanel p=new JPanel() ;p.setLayout(new FlowLayout() ;p.add(text) ;p.add(send) ;frame.getContentPane().add(p,South) ;frame.setVisible(true) ;try serversocket=new ServerSocket(2000) ;/监听本地2000端口socket=serversocket.accept() ;/这里是关键.这个方法调用的时候 程序将在这里暂停/一直到有客户端请求连接的时候才继续往下走out=new DataOutputStream(socket.getOutputStream() ; in=new DataInputStream(socket.getInputStream() ;out.writeUTF(您连接到服务器成功) ;Communication c=new Communication(this) ; c.start() ;catch(IOException e) System.out.println(e.toString() ;catch(Exception ee) System.out.println(ee.toString() ;public void actionPerformed(ActionEvent e)if(!text.getText().equals()tryout.writeUTF(text.getText();textarea.append(服务器说:+text.getText()+n) ;text.setText() ;catch(Exception ex )public static void main(String s)new server() ;class Communication extends Thread/用来通信的线程 server s ;public Communication(server s)this.s=s ; public void run() String message=null ; while(true) try message=s.in.readUTF() ; s.textarea.append(客户说:+message+n) ; catch(Exception e) System.out.println(e.toString() ;break ; try s.out.close() ; s.in.close() ; s.socket.close() ; s.serversocket.close() ; catch(Exception es) /client.javaimport java.io.* ;import .* ;import javax.swing.* ;import java.awt.* ;import java.awt.event.* ;public class client implements ActionListener JFrame frame; JTextArea textarea; JTextField text; JButton send; JButton connect; Socket socket;DataOutputStream out ;DataInputStream in ;public client()frame=new JFrame(客户端) ;frame.setSize(300,250) ;frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;frame.setResizable(false) ;frame.setLocation(400,300);text=new JTextField(10) ;textarea=new JTextArea() ;send=new JButton(发送消息) ;connect=new JButton(连接服务器) ;send.addActionListener(this) ;connect.addActionListener(this) ;frame.getContentPane().add(new JScrollPane(textarea),Center) ;JPanel p=new JPanel() ;p.setLayout(new GridLayout(1,3) ;p.add(text) ;p.add(send) ;p.add(connect) ;frame.getContentPane().add(p,South) ;frame.setVisible(true) ;public void actionPerformed(ActionEvent e)if(e.getSource()=connect)try socket=new Socket(,2000) ;out=new DataOutputStream(socket.getOutputStream() ; in=new DataInputStream(socket.getInputStream() ; Communication c=new Communication(this) ; c.start() ; catch(IOException ei) System.out.println(ei.toString() ; catch(Exception ee) System.out.println(ee.toString() ;elsetryout.writeUTF(text.getText();textarea.append(客户端说:+text.getText()+n) ;text.setText() ;catch(Exception ex )public static void main(String s)new client() ;class Communication extends Thread/用来通信的线程 client s ;public Communication(client s)this.s=s ; public void run() String message=null ; whil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论