服务器端启动soket多线程

方法一:

Socket socket=null

try{

  ServerSocket serversocket=nwe ServerSocket(8080)

  while(true){

    socket=serversocket.apccet();

    new ServerThread(socket).start();

  }

}catch(IOException e){

  e.printStackTrace()

}

方法二:

public  class ServerThread extends Thread{

  private Socket socket;

  public ServerSocket(socket){

    this.socket=socket;

  }

  public void run(){

      //复写run方法

    InputStream is=null;

    OutputStream os=null;

    String ip=socket.getLocalAddress().getHostAddress();

    String port=socket.getPort();

    try{

      while(true){

        in=socket.getInputStream();

        byte[] buffer=new byte[1024];

        int index=in.read(buffer);

        String receive=new String(buffer,0,index);

        System.out.println ("接受到服务器的内容是"+receive);

        if(recive=="exit") break;

        out=sokect.getOutputStream();

        String mes="word";

        out.write(mes.getBytes());

        System.out.println ("向服务器发送的内容:"+receive);

      }

      in.close();

      out.close();

      socket.close();

    }catch(IOException){

      e.printStackTrace();

    }

  }

}

时间: 2024-12-19 21:42:40

服务器端启动soket多线程的相关文章

多线程下SOCKET编程

SOCKET编程往往离不开多线程,说到多线程,总的说来还是一个比较复杂的东西,尤其是业务逻辑变得复杂的时候,有时候或者说经常,会弄得人头晕脑胀.但是C#,相对好一点,因为微软封装了,帮我们做很多工作,但是在实际的编码过程中,往往会出现各种各样的错误或者BUG. 这里先写一个简单的多线程函数,这样有个初步的理解,也算是入门了,相信大家不用多论述就能明白. public static void Start() { Thread t1 = new Thread(ExceMethod); t1.IsBa

Java Socket实现基于TCP和UDP多线程通信

一.通过Socket实现TCP编程 1.1 TCP编程 TCP协议是面向连接,可靠的,有序的,以字节流的方式发送数据.基于TCP协议实现网络通信的类有客户端的Socket类和服务器端的ServerSocket类. 1.2 服务器端套路 1.创建ServerSocket对象,绑定监听端口. 2.通过accept()方法监听客户端请求. 3.连接建立后,通过输入流读取客户端发送的请求信息. 4.通过输出流向客户端发送响应信息. 5.关闭响应的资源. 1.3 客户端套路 1.创建Socket对象,指明

JAVA多线程的问题以及处理【转】

12.4 多线程问题及处理 多线程编程为程序开发带来了很多的方便,但是也带来了一些问题,这些问题是在程序开发过程中必须进行处理的问题. 这些问题的核心是,如果多个线程同时访问一个资源,例如变量.文件等,时如何保证访问安全的问题.在多线程编程中,这种会被多个线程同时访问的资源叫做临界资源. 下面通过一个简单的示例,演示多个线程访问临界资源时产生的问题.在该示例中,启动了两个线程类DataThread的对象,该线程每隔200毫秒输出一次变量n的值,并将n的值减少1.变量n的值存储在模拟临界资源的Da

C/S模型:TCP,UDP构建客户端和服务器端(BIO实现

Java中提供了socket编程来构建客户端和服务器端 TCP构建服务器端的步骤:(1)bind:绑定端口号(2)listen:监听客户端的连接请求(3)accept:返回和客户端连接的实例(4)read/write:进行读写操作,也就是和客户端进行交互(5)close:关闭资源Java中提供了ServiceSocket关键字来构建服务器,在Java中listen和accept合并为一个accept操作,下面通过代码演示一下这5个步骤 public class Server { public s

Java多线程学习(吐血超详细总结)

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 目录(?)[-] 一扩展javalangThread类 二实现javalangRunnable接口 三Thread和Runnable的区别 四线程状态转换 五线程调度 六常用函数说明 使用方式 为什么要用join方法 七常见线程名词解释 八线程同步 九线程数据传递 本文主要讲了java中多线程的使用方法.线程同步.线程数据传递.线程状态及相应的一些线程函数用法.概述等. 首先讲一下进程和线程

JAVA学习第二十一课(多线程(一)初步了解)

放假在家,歇了好几天了,也没学习,今天学习一下多线程,找找感觉,后天就要回学校了,sad... PS:包 没有什么技术含量,会用即可,日后开发就必须要会用啦,所以打算先放一放,先来多线程 一.多线程概述 什么是进程? 通俗的说,可以理解为正在进行中的程序,进程实际上是对应的一个应用程序在内存中所属空间. 进程不直接执行的,进程只是分配该应用程序需要的内存空间,线程来负责执行,线程负责进程中内容执行的一个控制单元,也称之为执行路径,也称之为执行情景 什么是线程? 线程就是进程中一个负责程序执行的控

(转载)Java多线程入门理解

转载出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢?如果你觉得此文很简单,那推荐你看看Java并发包的的线程池(Java并发编程与技术内幕:线程池深入理解),或者看这个专栏:Java并发编程与技术内幕.你将会对Java里头的高并发场景下的线程有更加深刻的理解. 目录(?)[-] 一扩展javalangThread类 二实现javalan

react-native服务启动,运行项目到安卓模拟器

1.在CMD中进入要启动的项目下,输入react-native start,等待启动成功.成功之后再浏览器中访问http://localhost:8081/index.android.bundle?platform=android,如果可以访问,表示服务器端启动成功. 2.在上个服务启动的情况下,重新打开一个CMD,进入项目目录下,输入命令react-native run-android运行,第一次运行的时候会下载gradle,时间较长,成功之后,会在android模拟器中安装上,出现Welco

Netty学习之服务器端创建

一.服务器端开发时序图 图片来源:Netty权威指南(第2版) 二.Netty服务器端开发步骤 使用Netty进行服务器端开发主要有以下几个步骤: 1.创建ServerBootstrap实例 ServerBootstrap b=new ServerBootstrap(); ServerBootstrap是Netty服务器端的启动辅助类,提供了一系列的方法用于设置服务器端启动相关的参数. 2.设置并绑定Reactor线程池 EventLoopGroup bossGruop=new NioEvent