服务端程序:

public class Demo {

public static void main(String[] args) {

// TODO 自动生成的方法存根

try {

ServerSocket server =new ServerSocket(6666);

Socket client = null;

int i=0;

while(true) {

client = server.accept();

new Thread(new ServerThread(client)).start();

i++;

System.out.println("当前是第:"+i+"个用户连进来了。接入的客户端的IP地址:"+client.getInetAddress().getHostAddress());

}

} catch (Exception e) {    // TODO 自动生成的 catch 块    e.printStackTrace();   }  }

}

class ServerThread implements Runnable{

Socket client =null;

ServerThread(Socket temp){

this.client=temp;

}

@Override

public void run() {

// TODO 自动生成的方法存根

try {

InputStream in = client.getInputStream();

InputStreamReader reader = new InputStreamReader(in);

BufferedReader buff = new BufferedReader(reader);

String str="";

while((str=buff.readLine())!=null){

System.out.println("接受到客户端请求:"+str);

}

client.shutdownInput();

OutputStream out = client.getOutputStream();

PrintWriter p = new PrintWriter(out);

p.write("欢迎您");

p.flush();

reader.close();

in.close();

p.close();

out.close();

client.close();

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

客户端程序:

public class Demo {

public static void main(String[] args) {

// TODO 自动生成的方法存根

try {

Socket client =new Socket(InetAddress.getLocalHost(),6666);

OutputStream out = client.getOutputStream();

String str="登录名:张三 密码:123";

out.write(str.getBytes());

out.flush();

client.shutdownOutput();

InputStream in = client.getInputStream();

InputStreamReader reader =new InputStreamReader(in);

BufferedReader buff =new BufferedReader(reader);

String request="";

while((request=buff.readLine())!=null) {

System.out.println("获取服务端返回:"+request);

}

out.close();

reader.close();

in.close();

client.close();

} catch (UnknownHostException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

} }

JAVA SOCKET多线程等待接受客户端信息实现的更多相关文章

  1. java socket 多线程网络传输多个文件

    http://blog.csdn.net/njchenyi/article/details/9072845 java socket 多线程网络传输多个文件 2013-06-10 21:26 3596人 ...

  2. java Socket多线程聊天程序

    参考JAVA 通过 Socket 实现 TCP 编程 参考java Socket多线程聊天程序(适合初学者) 以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包 ...

  3. Java Socket 多线程聊天室

    本来这次作业我是想搞个图形界面的,然而现实情况是我把题意理解错了,于是乎失去了最初的兴致,还是把程序变成了功能正确但是“UI”不友好的console了,但是不管怎么样,前期的图形界面的开发还是很有收获 ...

  4. java socket 单服务器多客户端实时通信

    想用JAVA做一个服务器,请问怎么利用TCP和线程,实现多个客户端同时在线,能与服务器进行交互? 服务器监听端口 做个无限循环 接到一个连接就创建一个通道线程,并将通道线程存储到一个list集合中 1 ...

  5. java socket 多线程通讯 使用mina作为服务端

    客户端代码不变,参照 http://www.cnblogs.com/Westfalen/p/6251473.html 服务端代码如下: import java.io.IOException; impo ...

  6. java socket 多线程通讯

    1.目录结构 2.Server.java 代码 package de.bvb.server; import java.net.ServerSocket; import java.net.Socket; ...

  7. Java socket 多线程编程 示例

    参照网上代码: 1.工程: 2.代码: Client.java package com.my.socket.test; import java.io.BufferedReader; import ja ...

  8. java基础-多线程 等待唤醒机制

       /**  * @param args  * 等待唤醒机制  */ public static void main(String[] args) {  final Printer p = new ...

  9. Java Socket实现HTTP客户端来理解Session和Cookie的区别和联系

    HTTP协议本身是无状态的,即使是同一台电脑同一个浏览器打开同一个页面两次,服务器不知道这两次请求是同一个客户端发送过来的,两次请求是完全独立的.例如,第一次请求时已经登录了,第二次再请求服务器会“忘 ...

随机推荐

  1. 弹性碰撞 poj 3684

    Simon is doing a physics experiment with N identical balls with the same radius of R centimeters. Be ...

  2. windows服务搭建(VS2019创建Windows服务不显示安装组件)

    1.创建windows服务应用 2.右键查看代码 3.写个计时器Timer  using System.Timers; 如上图,按tab键快速操作  会自动创建一个委托 改为下边的方式,打印日志来记录 ...

  3. 8.Java的特性和优势

    简单性:可以说Java是C++语法的纯净版,没有头文件,没有指针运算,也不用分配内存. 面向对象:是一种程序设计技术,它将重点放在对象以及对象的接口上,模拟人的思维写程序,所以人去学习非常快.因此,J ...

  4. [bzoj4447] [loj#2010] [Scoi2015] 小凸解密码

    Description 小凸得到了一个密码盘,密码盘被等分成 \(N\) 个扇形,每个扇形上有一个数字(0-9),和一个符号("+"或"*") 密码盘解密的方法 ...

  5. Qt Installer Framework翻译(7-2)

    包文件夹 安装程序包含的组件,要么是内嵌的,要么可以从远程存储库加载.在这两种情况下,都需要为组件使用一种安装程序可以读取的文件格式和结构. 包文件夹结构 将所有组件放在相同的根文件夹中,即包文件夹. ...

  6. 1114 记录一点点吧 RP Axure

  7. Python3 正则表达式 re 模块的使用 - 学习笔记

    re 模块的引入 re 模块的使用 re.compile() re.match()与re.search() re.match re.search() 区别 re.findall()与re.findit ...

  8. 从O365中获取users到D365中

    用D365 online可能会遇到这样的问题.  顾客需要获取O365 user的email address 发email使用. 但是又不想给这部分的users licenses. 那我们就可以通过g ...

  9. 基于 HTML5 WebGL 的虚拟现实可视化培训系统

    前言 2019 年 VR, AR, XR, 5G, 工业互联网等名词频繁出现在我们的视野中,信息的分享与虚实的结合已经成为大势所趋,5G 是新一代信息通信技术升级的重要方向,工业互联网是制造业转型升级 ...

  10. php--->php打印格式化

    php打印格式化 当我们PHP调试的时候,用var_dump 或 print_r打印json数据或array数组时,html页面没有换行显示,看到的内容一大堆,不好定位.输出前添加html的pre标签 ...