多线程处理socket请求
来源:互联网 发布:超牛数据恢复官方下载 编辑:程序博客网 时间:2024/06/01 10:32
package com.company.twitter.server;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
*
* @author Administrator
*
*/
public class ServerThread extends Thread{
private Socket client;
private InputStream is;
private OutputStream os;
public ServerThread(Socket client){
try {
this.client = client;
is = client.getInputStream();
os = client.getOutputStream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//在指定端口启动服务器
public void startServer(int port) {
try {
ServerSocket ss = new ServerSocket(port);
System.out.println("服务器已启动!");
while(true) {
client = ss.accept();
processClient(client);
System.out.println("已开启一个线程处理客户端的请求");
}
} catch (IOException e) {
e.printStackTrace();
}
}
//采用多线程来处理客户端的请求
public void processClient(Socket client) {
ServerThread dealClient = new ServerThread(client);
dealClient.start();
}
//处理客户端的代码
public void run() {
try {
String data = "hello !\r\n";
byte[] d = data.getBytes();
os.write(d);
os.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
}
}
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
*
* @author Administrator
*
*/
public class ServerThread extends Thread{
private Socket client;
private InputStream is;
private OutputStream os;
public ServerThread(Socket client){
try {
this.client = client;
is = client.getInputStream();
os = client.getOutputStream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//在指定端口启动服务器
public void startServer(int port) {
try {
ServerSocket ss = new ServerSocket(port);
System.out.println("服务器已启动!");
while(true) {
client = ss.accept();
processClient(client);
System.out.println("已开启一个线程处理客户端的请求");
}
} catch (IOException e) {
e.printStackTrace();
}
}
//采用多线程来处理客户端的请求
public void processClient(Socket client) {
ServerThread dealClient = new ServerThread(client);
dealClient.start();
}
//处理客户端的代码
public void run() {
try {
String data = "hello !\r\n";
byte[] d = data.getBytes();
os.write(d);
os.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
}
}
- 多线程处理socket请求
- socket连接,传输文件,读写excel,txt,多线程处理请求
- 服务端Socket多线程处理框架
- java socket 使用 多线程下载请求
- HTTP协议:socket处理ajax请求?
- Socket学习 - PHP+Socket多进程处理请求学习
- java socket编程多线程处理多客户端
- [Tomcat6.0源码]请求的处理一Socket
- Socket请求
- socket请求
- java使用java.util.concurrent.CountDownLatch 同时处理多个请求,多线程处理http请求
- windows socket端口监听和多线程任务处理
- Java Socket Server-client端多线程处理代码示例
- Java Socket 多线程编程,处理百万级的数据并发。
- 在Python3.0中处理web请求3-多线程
- 准多线程TCP服务器,处理客户端连接请求。
- c服务端通过多线程来处理不同请求
- 什么是多线程?以tomcat处理n个请求为例
- Ubuntu中如何设置环境变量
- YUV YPbPr YCbCr CCIR 601 CCIR 656
- Activity之间切换以及数据传递
- servlet的学习
- 在sql server数据库中快速删除记录,清空表
- 多线程处理socket请求
- 杂图
- Android深入浅出之Surface[1]
- 实现跨域cookie共享(转载)
- Flex 4 :导出 TextFlow 对象
- HDFS------block,packet,chunk的关系
- 一篇关于STL标准模板库使用方法的经典文章!
- 关于一个Hashtable的小小问题
- java - HtmlEmail发送html邮件