基于Socket的通信机制-有连接通信方式:多线程通信
来源:互联网 发布:stm32f103 flash编程 编辑:程序博客网 时间:2024/05/01 11:14
客户端程序
import java.io.*;import java.net.*;public class MyClient {public static void main(String[] args) {try{Socket socket = new Socket("127.0.0.1",1680);//发出连接请求//连接建立,通过Socket获取连接上的输入/输出流PrintWriter out = new PrintWriter(socket.getOutputStream());BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));//创建标准输入流,从键盘接受数据BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));//从标准输入中读取一行,发送Server端,当用户输入bye是结束连接String s;do{System.out.print("YOU: ");s=sin.readLine();out.println(s);out.flush();if(!s.equals("bye")){System.out.println("server: "+in.readLine());}else{System.out.println("The connection is closing......");}}while(! s.equals("bye"));//关闭连接out.close();in.close();socket.close();}catch(Exception e){System.out.println("Error"+e);}}}
服务器端程序
public class MultiClientServer implements Runnable{static int SerialNum=0;Socket socket;public MultiClientServer(Socket ss){socket=ss;}public static void main(String args[]){int MaxClientNum=5;try{//建立Server Socket ServerSocket server=new ServerSocket(1680);for(int i=0;i<MaxClientNum;i++){Socket socket=server.accept();//连接建立,创建一个Sever端线程与Client端通信Thread t=new Thread(new MultiClientServer(socket));t.start();}server.close();}catch(Exception e){System.out.println("Error:"+e);}}public void run(){int myNum=++SerialNum;try{//通过Socket获取连接上的输入/输出流BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out=new PrintWriter(socket.getOutputStream());//创建标准输入流,从键盘接收数据BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));/*先读取Client发送的数据,然后从标准输入读取数据发送给Client当接收到bye时关闭连接*/String s;while(!(s=in.readLine()).equals("bye")){System.out.println("Client No."+myNum+":"+s);out.println(sin.readLine());out.flush();}System.out.println("Client No."+myNum+"closed.");//关闭连接in.close();out.close();socket.close();}catch(Exception e){System.out.println("Error:"+e);}}}
- 基于Socket的通信机制-有连接通信方式:多线程通信
- TCP 基于连接的Socket通信程序设计
- 基于Socket通信的聊天室
- 基于UDP的socket通信
- 基于android的Socket通信
- 基于TCP的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- 基于android的Socket通信
- HDOJ 1010:Tempter of the Bone 迷宫问题 解题报告
- 简单存储过程示例优化。。。多列取最小值
- linux 数据流重导向
- ASP.NET学习笔记[4] - 无法分析从服务器在通过调用 Response.Write()
- 【Cortex-M0】4 ARM微微控制器的指令集
- 基于Socket的通信机制-有连接通信方式:多线程通信
- Android图形系统分析与移植--六、framebuffer研究
- VS2010与SVN
- Android之短信发送器
- 好的软件人员一生必看的六十本书
- Android开发实例详解之IMF(Android SDK Sample—SoftKeyboard)
- 电脑中TCP/IP协议设置
- 使用RVM在ubuntu下安装ruby&rails
- C#中使用try...catch...是否会影响程序性能