如题目
解决方案 »
- spring 事物处理……
- 为何找不到servlet.....求助.....
- hibernate native sql拼接问题
- hibernate在服务器出这样的错:unexpected end of subtree
- 求助,如何设计实现条件可配置
- 如何利用JAVAMAIL把邮件信息保存到文件中,在把保存到文件中邮件信息重新装入MESSAGE类中?非常着急
- 请各位高手为小弟指点迷津!!!
- 高分求救jbuilderX和jboss的问题
- 请问如何将xml通过jdbc保存到数据库
- 加在实体类属性前的‘’_‘’符号,经过封装后不见了,例如_parentId在输出时变成了parentId
- myeclipse太不听话了 真想抽他 帮忙看看呢
- 新上传了一批【免分】下载资源,超经典
import java.net.*;
import java.util.*;
public class receiveServer
{
final int RECEIVE_PORT=8080; //该服务器的端口号
public receiveServer()
{
ListenThread listen=new ListenThread();
listen.start();
}
public static void main(String args[])
{
new receiveServer();
}
class ListenThread extends Thread //*** 本类<异步>完成对服务器端口的侦听
{
ServerSocket rServer=null; //ServerSocket的实例
Socket request=null; //用户请求的套接字
Thread buildThread=null; //*** Thread?
public ListenThread()
{
try
{
rServer = new ServerSocket(RECEIVE_PORT); //初始化ServerSocket
System.out.println("Listen Thread is ready! Listen Port: " + RECEIVE_PORT);
//this.start(); //*** 放到类外面控制更灵活
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
public void run()
{
try
{
while (true)
{
request = rServer.accept(); ////等待用户请求并接收客户机连接请求
buildThread = new buildSocketThread(request); //生成buildSocketThread的实例
buildThread.start(); //启动serverThread线程
}
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
}
class buildSocketThread extends Thread //*** 本类完成与客户端请求建立一个socket连接,并接收客户端的指令
{
Socket clientRequest; //用户连接的通信套接字
BufferedReader input;
PrintWriter output;
public buildSocketThread(Socket s)
{
System.out.println("one connected"); //*** 输出接收事件,要不然服务器老是象死了一样没反应!!
//
this.clientRequest=s; //接收receiveServer传来的套接字
InputStreamReader reader;
OutputStreamWriter writer;
try
{
reader=new InputStreamReader(clientRequest.getInputStream());//初始化输入、输出流
writer=new OutputStreamWriter(clientRequest.getOutputStream());
input=new BufferedReader(reader);
output=new PrintWriter(writer,true);
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
output.println("Welcome to the server!"); //客户机连接欢迎词
output.println("Now is: "+new java.util.Date()+" "+ "Port:"+clientRequest.getLocalPort());
output.println("What can I do for you?");
}
public void run()
{
String command=null; //用户指令
String str=null;
boolean done=false;
while(!done)
{
try
{
str=input.readLine().trim(); //接收客户机信息
if(str=="") //*** 防止客户端socket断开,下面执行空指针
;
else
{
System.out.println("received message: " + str); //就没有执行到这句,难道没收到客户端的信息?
output.println("server response: " + str); //为什么客户端收不到信息!!!?
output.flush();
}
}
catch(IOException e){System.out.println(e.getMessage());}
}
try
{
clientRequest.close(); //关闭套接字
}
catch(IOException e){System.out.println(e.getMessage());}
command=null;
} //void run
} //buildSocketThread
}