Java网络编程笔记5
来源:互联网 发布:淘宝宝贝描述用什么做 编辑:程序博客网 时间:2024/06/04 23:29
在Java网络编程笔记4中我们看到了客户端与服务器通信的过程,只是在前面的程序只是单个客户端与服务器通信 的例子。
接下来我们看如何实现多个客户端与服务器通信,对于服务器来说,它要为每个客户端请求的Socket建立一个线程,并通过它进行通信。
在这里创建一个线程类用来管理Socket:
<span style="font-size:18px;">public class ServerThread extends Thread {private Socket socket;private int num;public ServerThread(Socket socket,int num){this.socket=socket;this.num=num;}@Overridepublic void run() {try {InputStream is=socket.getInputStream();OutputStream os=socket.getOutputStream();DataInputStream dis=new DataInputStream(is);String request=dis.readLine();System.out.println(request);PrintStream ps=new PrintStream(os);ps.print("这是服务器发来的---->");socket.close();} catch (Exception e) {e.printStackTrace();}}}</span>
接着运行主程序与客户端进行通信:
<span style="font-size:18px;">public class Server {public static void main(String[] args) {try {ServerSocket ss=new ServerSocket(3000);int clientnum=0;while(true){ServerThread st=new ServerThread(ss.accept(),clientnum);st.start();System.out.println(clientnum++);}} catch (Exception e) {e.printStackTrace();}}}</span>
客户端与前面的并无差别:
<span style="font-size:18px;">public class Client {public static void main(String[] args) {try {Socket socket = new Socket("192.168.12.112", 3000);BufferedReader bfr = new BufferedReader(new InputStreamReader(socket.getInputStream()));String request=bfr.readLine();System.out.println(request);OutputStream outputStream = socket.getOutputStream();PrintStream printStream = new PrintStream(outputStream);printStream.print("Client--->");socket.close();} catch (UnknownHostException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}</span>
转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/42803955 情绪控_
0 0
- Java网络编程笔记5
- Java网络编程笔记
- java网络编程笔记
- Java笔记---网络编程
- 【Java】网络编程笔记
- Java网络编程笔记
- [笔记]JAVA-网络编程
- 【Java笔记】网络编程
- Java网络编程笔记(TCP)
- java网络编程学习笔记
- JAVA网络编程学习笔记
- java网络编程学习笔记
- java学习笔记-网络编程
- Java网络编程 学习笔记
- 网络编程 Socket 【java笔记】
- Java网络编程笔记1
- Java网络编程笔记2
- Java网络编程笔记3
- hdu1269——迷宫城堡——————【kosaraju模板】
- 嵌入式软件开发学习流程
- vs2010下debug模式下不能执行断点解决方法
- lxc 基本命令
- OC基础
- Java网络编程笔记5
- android 获取经纬度
- Effective C++ (笔记) : 条款05 -- 条款10
- UVa 1583 Digit Generator
- 32位汇编语言学习笔记(44)--显示命令行参数(3)
- FFMpeg框架代码阅读
- zhcon-Ubuntu字符界面(终端tty1-6)中文乱码和分辨率的解决方案
- 【Cocos2d-x】3.3 ClippingRectangleNode与ClippingNode 以及 ClippingRectangleNode BUG
- java中使用MD5对密码进行加密