`
liuxinglanyue
  • 浏览: 546781 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java的单线程Socket通信

阅读更多

package  com.wangtong.network;   
  
import  java.io.BufferedReader;   
import  java.io.IOException;   
import  java.io.InputStreamReader;   
import  java.io.PrintWriter;   
import  java.net.ServerSocket;   
import  java.net.Socket;   
  
public   class  ServerSocket {   
  
     public   static   void  main(String[] args) {   
         try  {   
            createServerSocket();   
        }  catch  (IOException e) {   
             // TODO Auto-generated catch block   
            e.printStackTrace();   
        }   
    }   
  
     private   static   void  createServerSocket()  throws  IOException {   
        ServerSocket serverSocket =  new  ServerSocket( 8189 );   
        Socket socket = serverSocket.accept(); // wait for client connection   
         while  ( true ) {   
            BufferedReader in =  new  BufferedReader( new  InputStreamReader(socket   
                    .getInputStream()));   
            PrintWriter out =  new  PrintWriter(socket.getOutputStream());   
             while  ( true ) {   
                String str = in.readLine();   
                System.out.println( "server:"  + str);   
                out.println( "client receive"  + str);   
                out.flush();   
                 if  (str.equals( "exit" ))   
                     break ;   
            }   
            socket.close();   
  
        }   
    }   
  
}   
 package com.wangtong.network;
  
import  java.io.BufferedReader;   
import  java.io.IOException;   
import  java.io.InputStream;   
import  java.io.InputStreamReader;   
import  java.io.OutputStream;   
import  java.io.PrintWriter;   
import  java.net.Socket;   
import  java.net.UnknownHostException;   
import  java.util.Scanner;   
  
  
public   class  ClientSocket {   
     private   static   final  String URL =  "localhost" ;   
  
     private   static   final   int  PORT =  8189 ;   
  
  
     /**  
     * create client socket  
     *   
     * @throws IOException  
     * @throws UnknownHostException  
     *   
     */   
     private   static   void  createClientSocket()  throws  UnknownHostException,   
            IOException {   
        Socket clientSocket =  new  Socket(URL, PORT);   
        BufferedReader in =  new  BufferedReader( new  InputStreamReader(   
                clientSocket.getInputStream()));   
        PrintWriter out =  new  PrintWriter(clientSocket.getOutputStream());   
        BufferedReader wt =  new  BufferedReader( new  InputStreamReader(System.in));   
         while  ( true ) {   
            String str = wt.readLine();   
            out.println( "client send:"  + str);   
            out.flush();   
             if  (str.equals( "end" )) {   
                 break ;   
            }   
            System.out.println(in.readLine());   
        }   
        clientSocket.close();   
  
    }   
  
     public   static   void  main(String[] args) {   
  
         try  {   
            createClientSocket();   
        }  catch  (UnknownHostException e) {   
             // TODO Auto-generated catch block   
            e.printStackTrace();   
        }  catch  (IOException e) {   
             // TODO Auto-generated catch block   
            e.printStackTrace();   
        }   
    }   
}   

  转:http://wangtong40.iteye.com/blog/50628

分享到:
评论

相关推荐

    单线程与多线程socket通信

    Java编写的简易socket通信,既有单线程socket通信也有多线程socket通信,使用Java原生sdk实现,可以运行。

    java socket 单线程实现P2P通信

    简单大循环 单线程实现通信 1. TCP连接通信 2. Server先监听,等待Client连接 3. 双方都可以发"Stop!"停止通信,但此程序Client只会停止,Server可以一直监听,即断开后,Client可以再次连接 4. 不能一对多通信,...

    Java Socket实现单线程通信的方法示例

    主要介绍了Java Socket实现单线程通信的方法,结合具体实例形式分析了java socket单线程通信的原理与客户端、服务器端相关实现技巧,需要的朋友可以参考下

    limengjie.zip_java socket _socket

    java socket单线程通信,可以作为课程设计

    java socket通信 一对多

    1)设计程序,分别构建通信的两端:服务器端和客户端应用程序,套接字类型为面向连接的Socket,自己构建双方的应答模式,实现双方的... 6,注意理解程序的线程、Socket的基本动作(Accept、Connect、Send、Receive)等;

    java实现Socket通信之单线程服务

    主要为大家详细介绍了java实现Socket通信的单线程服务,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    cc_to_sever.zip

    java多线程socket通信、java网络编程学习心得,基本实现多线程通信,其他问题的欢饮反馈。应付作业有余了: 应用多线程实现服务器与多客户端之间的通信: ① 服务器端创建ServerSocket,循环调用accept()等待客户端...

    Java的多线程和socket实现聊天室代码

    Java实现简单的聊天室,单服务进程,多客户线程,用socket进行通信。适合新手学习socket。

    大二Java课程作业,基于Java Socket的C/S架构IM

    实现了C/S架构的Socket多线程IO通信。 实现了Socket长连接的TCP网络通信。 基于Java GUI的人机交互界面,单个服务器(Server)持续处理客户端信息并统一转发,多个客户端(Client)可以同时持续与服务器建立连接并相互...

    基于Java Socket的C/S架构IM

    实现了C/S架构的Socket多线程IO通信。 实现了Socket长连接的TCP网络通信。 基于Java GUI的人机交互界面,单个服务器(Server)持续处理客户端信息并统一转发,多个客户端(Client)可以同时持续与服务器建立连接并相互...

    安卓平台客户端-服务器socket通信_源码带注释

    移动客户端在Android平台下、服务器端使用纯JAVA语言的socket通信开发。子文件夹按单线程和多线程、客户端和服务器端分类,代码包含详尽注释。 在移动端为Android 2.3手机、服务器端为WINDOWS PC的环境下真机亲测,...

    一个服务器对多个客户端的MFC Socket编程示例(实现简单的即时通讯功能)

    思想与Java中的编程思想一样,只不过Java中会使用多线程技术,在Vector集合保存客户端的socket对象,而MFC框架提供了CSocket类,它是一个异步通信的类,所以看上去代码比较Java的多线程代码简单的实现了一个对多的...

    用Java Socket实现一个简单的基于P2P范型的即时聊天系统。

    暂时仅仅设计了以下几个功能点: 1.点对点单人聊天; 2.多人在线同时聊天; 3.用户可以自由加入和退出系统; 4.具备用户在线状态监听;

    基于javatcpsocket通信的拆包和装包源码-NettyTree:网状树

    socket通信的拆包和装包源码 NettyTree 搭建一个基于Netty的通信框架 NIO:非阻塞式IO BIO:阻塞式IO 1) TCP粘包、拆包 2)编解码技术 1)Java序列化 2)业界主流的编解码框架 Thrift Protobuf 3) Websocket 5)...

    java源码包---java 源码 大量 实例

    Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例...

    Java实现的企业内部QQ聊天系统

    Java实现的企业内部QQ聊天系统,Socket线程通信,单人,多人在线聊天

    JAVA上百实例源码以及开源项目源代码

    Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例...

    JAVA上百实例源码以及开源项目

    Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例...

    java源码包4

    Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例...

    java源码包3

    Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例...

Global site tag (gtag.js) - Google Analytics