|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不得不提一下的是:.net是看到java红,而开发出来的工具。
和socket编程有关的几个类:
InetAddress
Socket:用在客户端
ServerSocket:用在服务器端
一。点对点通讯
服务器端:
packageserver;
importjava.io.*;
importjava.net.*;
publicclassServer{
privateintport;
publicServer(intport){
this.port=port;
start();
}
//将从客户端收到的信息转化为年夜写的
publicStringprocess(Stringline){
returnline.toUpperCase();
}
publicvoidstart(){
try{
//依据端口创立套接字
ServerSocketmyscoket=newServerSocket(port);
//显现毗连信息
System.out.println("服务器启动完成,监听端口在"+port);
System.out.println("正在守候客户毗连.........");
//挂起守候客户的哀求
Socketconnection=myscoket.accept();
//测试
System.out.println("客户发来毗连哀求.........");
//猎取读取客户真个数据流
BufferedReaderin=newBufferedReader(newInputStreamReader(connection.getInputStream()));
//猎取写往客户真个数据输入流,true暗示主动革新
PrintWriterout=newPrintWriter(connection.getOutputStream(),true);
//向客户发送接待的信息
out.println("您好,服务器毗连乐成!");
out.println("输出bye断开与服务器的毗连");
booleandone=false;
while(!done){
//读取客户真个内容
Stringline=in.readLine();
if(line==null){
done=true;
}else{
//从服务器端显现客户端发送的信息
System.out.println("从客户端来的内容"+line);
//信息处置
Stringmessage=process(line);
//向客户端发送信息
out.println("从服务器端口发送的信息"+message);
if(line.trim().equals("BYE"))
done=true;
}
}
//封闭通讯
connection.close();
}catch(Exceptione){
System.out.println(e);
}
}
}
packageserver;
publicclassServerDemo{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
if(args.length!=1){
System.out.println("运转体例:javaServer<端标语>");
return;
}
try{
//取得端标语
intport=Integer.parseInt(args[0]);
Servermyserver=newServer(port);
}catch(Exceptione){
System.out.println(e);
}
}
}
<p>
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架? |
|