1. package test;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.io.PrintStream;
  7. import java.net.ServerSocket;
  8. import java.net.Socket;
  9. class ThreadSocket implements Runnable{
  10. private Socket client = null ;
  11. public ThreadSocket(Socket client){
  12. this.client = client ;
  13. }
  14. public void run(){
  15. BufferedReader buf = null ; // 接收输入流
  16. PrintStream out = null ; // 打印流输出最方便
  17. try{
  18. out = new PrintStream(client.getOutputStream()) ;
  19. // 准备接收客户端的输入信息
  20. buf = new BufferedReader(new InputStreamReader(client.getInputStream())) ;
  21. boolean flag = true ; // 标志位。表示能够一直接收并回应信息
  22. while(flag){
  23. String str = buf.readLine() ; // 接收客户端发送的内容
  24. if(str==null||"".equals(str)){ // 表示没有内容
  25. flag = false ; // 退出循环
  26. }else{
  27. if("bye".equals(str)){ // 假设输入的内容为bye表示结束
  28. flag = false ;
  29. }else{
  30. out.println("ECHO : " + str) ; // 回应信息
  31. }
  32. }
  33. }
  34. client.close() ;
  35. }catch(Exception e){}
  36.  
  37. }
  38. }
  39. public class Test {
  40.  
  41. public static void main(String[] args) throws IOException {
  42. server3();
  43. }
  44.  
  45. public static void server3() throws IOException{
  46. ServerSocket server=new ServerSocket(8888);
  47. while(true){
  48. Socket client=server.accept();
  49. new Thread(new ThreadSocket(client)).start();
  50. }
  51. }
  52. public static void server2() throws IOException{
  53. ServerSocket server=new ServerSocket(8888);
  54. Socket client=server.accept();
  55. boolean flag=true;
  56. while(flag){
  57. BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
  58. PrintStream print=new PrintStream(client.getOutputStream());
  59. boolean f=true;
  60. while(f){
  61. String str=in.readLine();
  62. if(str==null||"".equals(str)){
  63. f=false;
  64. }else{
  65. if("bye".equals(str)){
  66. f=false;
  67. }else{
  68. print.println("Echo::"+str);
  69. }
  70. }
  71. print.print(str);
  72. }
  73. print.close();
  74. }
  75. client.close();
  76. server.close();
  77. }
  78. public static void server1() throws IOException{
  79. ServerSocket server=new ServerSocket(8888);
  80. Socket client=server.accept();
  81. PrintStream print=new PrintStream(client.getOutputStream());
  82. String str="Hello world";
  83. print.print(str);
  84. print.close();
  85. client.close();
  86. server.close();
  87. }
  88.  
  89. /**
  90. *baidu的IP地址:119.75.217.109
  91.  
  92. */
  93. }
  1. package test;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.io.PrintStream;
  7. import java.net.Socket;
  8.  
  9. public class Socket01{
  10. public static void main(String args[]) throws IOException{
  11. Socket socket=new Socket("localhost",8888);
  12. BufferedReader buf=new BufferedReader(new InputStreamReader(socket.getInputStream()));
  13. BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
  14. PrintStream out=new PrintStream(socket.getOutputStream());
  15. boolean flag = true ; // 定义标志位
  16. while(flag){
  17. System.out.print("输入信息:") ;
  18. String str = input.readLine() ; // 接收键盘的输入信息
  19. out.println(str) ;
  20. if("bye".equals(str)){
  21. flag = false ;
  22. }else{
  23. String echo = buf.readLine() ; // 接收返回结果
  24. System.out.println(echo) ; // 输出回应信息
  25. }
  26. }
  27. buf.close();
  28. out.close();
  29. input.close();
  30. socket.close();
  31. }
  32.  
  33. };
  34. /**
  35. read1():
  36. hello
  37. read2():
  38. hello
  39. hello
  40. **/

Socketclient与服务端的更多相关文章

  1. 使用poco 的NetSSL_OpenSSL 搭建https 服务端,使用C++客户端,java 客户端访问,python访问(python还没找到带证书访问的代码.)

    V20161028 由于项目原因,需要用到https去做一些事情. 这儿做了一些相应的研究. 这个https 用起来也是折腾人,还是研究了一周多+之前的一些积累. 目录 1,java client 通 ...

  2. Android-socket服务端断重启后,android客户端自动重连

    今天研究这个问题搞了整整一天啊!终于出来了,不过我没有多大的成就感,为什么呢?因为这不是我的劳动成果.同样的问题,我却没想出来!心塞的很啊…… 不过还是要给大家分享一下,希望给大家带来帮助! 先声明一 ...

  3. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...

  4. C# Socket服务端和客户端互相send和receive

    服务端           {          ];          ;                                       {                       ...

  5. (C#:Socket)简单的服务端与客户端通信。

    要求:1.可以完成一对一的通信:2.实现服务端对客户端一对多的选择发送:3.可以实现服务端的群发功能:4.可以实现客户端文件的发送: 要点:服务器端:第一步:用指定的端口号和服务器的ip建立一个End ...

  6. c#Socket Tcp服务端编程

    创建一个socket服务类,绑定监听端口, 然后创建一个线程listen连接的客户端, 把监听到的客户端加入dictionary里面,以便于管理, 同时创建receive线程,循环接收数据加入list ...

  7. php编写TCP服务端和客户端程序

    1.修改php.ini,打开extension=php_sockets.dll 2.服务端程序SocketServer.php <?php //确保在连接客户端时不会超时 set_time_li ...

  8. C#Winform窗体实现服务端和客户端通信例子(TCP/IP)

    Winform窗体实现服务端和客户端通信的例子,是参考这个地址 http://www.cnblogs.com/longwu/archive/2011/08/25/2153636.html 进行了一些异 ...

  9. Winfrom 基于TCP的Socket服务端 多线程(进阶版)

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

随机推荐

  1. Oracle中的for和while循环

    实例: beginfor i in 51..500 loop delete from test t where t.date=to_date('2016-07-01', 'yyyy-MM-dd') a ...

  2. Android Studio中出现Gradle's dependency cache may be corrupt错误的解决办法

    起因 某次打开AS,提示升级AS,升级后,提示升级gradle,选择升级. 结果在升级gradle时耗时较久,没有耐心,点击停止升级gradle, 还是停在那里,然后关闭AS,还是没反应,启动任务管理 ...

  3. cf上分的失落->高兴->更失落

    cf昨日做出一个题居然div2打了1800多名直接上分了...我原以为垂直落地但是....我现在1399差一分就能蓝名了啊啊啊啊,以后不一定会有这个水平的啊,给个蓝名体验卡不行吗,多加一分会死啊... ...

  4. [LOJ] 分块九题 3

    https://loj.ac/problem/6279 区间修改,区间查询前驱. TLE无数,我觉得这代码最精髓的就是block=1000. 谜一样的1000. 两个启示: 块内可以维护数据结构,比如 ...

  5. SpringCloud版本介绍和SpringBoot的兼容性

    Spring Cloud是一个由众多独立子项目组成的大型综合项目,每个子项目有不同的发行节奏,都维护着自己的发布版本号.Spring Cloud通过一个资源清单BOM(Bill of Material ...

  6. Spring Boot 返回Html界面

    @Controller public class HelloController { @RequestMapping("/") public String index(){ ret ...

  7. Jmeter接口测试实战-Cookies

    场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都有一个共同的特点, 有效期(expires). ...

  8. xtu read problem training 3 A - The Child and Homework

    The Child and Homework Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on Code ...

  9. NYOJ 237 游戏高手的烦恼

    游戏高手的烦恼时间限制:1000 ms | 内存限制:65535 KB难度:5描述有一位传说级游戏高手,在闲暇时间里玩起了一个小游戏,游戏中,一个n*n的方块形区域里有许多敌人,玩家可以使用炸弹炸掉某 ...

  10. laravel 文件删除

    删除文件 <?php class demo{ public function del(){ $disk = Storage::disk('public');//获取磁盘实例 $disk-> ...