java网络编程二

java网络编程二

ID:40557512

大小:76.51 KB

页数:38页

时间:2019-08-04

java网络编程二_第1页
java网络编程二_第2页
java网络编程二_第3页
java网络编程二_第4页
java网络编程二_第5页
资源描述:

《java网络编程二》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、回顾:线程的高级应用:同步代码块(同步方法)如果过多的同步就会造成死锁生产者和消费者(Object:wait()notify()notyfyAll())今天:网络编程基于Socket编程:客户端只能和服务器端进行信息的交互,日常所见,客户端和客户端可以进行信息的交互???所有客户端把信息发给服务器,服务器解析并回发.1.一个服务器端连接多个客户端publicclassServer{//连接多个客户端publicstaticvoidmain(String[]args)throwsIOException,InterruptedEx

2、ception{ServerSocketserver=newServerSocket(8888);Socketclient=null;//不停的监听,连接多个客户端while(true){Thread.sleep(1000);client=server.accept();//侦听一客户端socketSystem.out.println(client+"上线了!");//启动线程newThread(newServerReader(client)).start();}}}classServerReaderimplementsRun

3、nable{Sockets;publicServerReader(Sockets){this.s=s;}@Overridepublicvoidrun(){try{BufferedReaderbr=newBufferedReader(newInputStreamReader(s.getInputStream()));PrintWriterpw=newPrintWriter(s.getOutputStream());while(true){//从客户读Stringinfo=br.readLine();System.out.prin

4、tln("客户端:"+s+"发送的信息:"+info);//回写pw.println("你好,客户端");pw.flush();}}catch(IOExceptione){e.printStackTrace();}}}publicclassClient{privateSockets;publicClient()throwsUnknownHostException,IOException{s=newSocket("127.0.0.1",8888);System.out.println(s+"客户端创建了!");////先写Sca

5、nnersc=newScanner(System.in);PrintWriterpw=newPrintWriter(s.getOutputStream(),true);//读...newClientReader(s).start();while(true){System.out.println("请输入:");pw.println(sc.nextLine());}}publicstaticvoidmain(String[]args)throwsUnknownHostException,IOException{newClient

6、();}}classClientReaderextendsThread{privateSockets;publicClientReader(Sockets){this.s=s;}publicvoidrun(){try{BufferedReaderbr=newBufferedReader(newInputStreamReader(s.getInputStream()));while(true){Stringinfo=br.readLine();System.out.println("服务器发来的消息:"+info);}}catc

7、h(IOExceptione){e.printStackTrace();}}}2.如果一个只被实例化一次,可将此类定义成内部类publicclassServer{ServerSocketserver;Sockets;publicServer()throwsException{server=newServerSocket(8888);while(true){s=server.accept();System.out.println(s+"上线了!");newServerReader().start();}}publicstatic

8、voidmain(String[]args)throwsException{newServer();}//内部类:可以直接调用外部类的属性classServerReaderextendsThread{publicvoidrun(){try{BufferedReaderbr=n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。