ServerSocket和Socket-创新互联
前言
用ServerSocket和Socket做了个Server、Client通信的demo,以及学习下在这个demo过程中用到java.net、java.io包下几个常用的类。

Server
import java.net.*;import java.io.*;public class HttpServer{
public static void main(String[] args){ new HttpServer().start();
}
private ServerSocket serversocket=null;
public HttpServer(){ try{
serversocket=new ServerSocket(5000);//监听客户端端口5000的socket请求
System.out.println("服务器启动");
}catch(IOException e){
e.printStackTrace();
}
} public void start(){
Socket socket=null; while(true){ try{
socket=serversocket.accept(); //接受客户端请求socket
System.out.println("address:"+socket.getInetAddress()+":"+socket.getLocalPort());
OutputStream os =socket.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os)); //向客户端发送一条消息
bw.write("测试服务器通信\n");
bw.flush();
}catch(IOException e){
e.printStackTrace();
System.out.println("连接断开");
}finally{ try{ if(socket !=null){
socket.close();
}
}catch(IOException e){
}
}
}
}
}Client
import java.net.*;import java.io.*;public class Client{
public static void main(String[] args){
Socket socket=null; try{
socket =new Socket("127.0.0.1",5000);
InputStream is =socket.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br =new BufferedReader (isr);
String mess=br.readLine();
System.out.println("mess:"+mess);
}catch(IOException e){
e.printStackTrace();
}finally{ try{ if(socket !=null){
socket.close();
}
}catch(IOException e){
}
}
}
}总结
java.net包内几个常用的类:
ServerSocket、
Socket、
OutputStream、InputStream、
InputStreamReader、OutputStreamWriter、
BufferedReader、BufferedWriter、
InetAddress、
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:ServerSocket和Socket-创新互联
URL标题:http://www.jxjierui.cn/article/ceecid.html


咨询
建站咨询
