Java 网络编程1

530 查看

talnet工具与Socket类

如今单机的程序已经不太能适合用户的需要,网络编程变得比以往更加重要。
首先需要认识一下talnet工具,可以使用该工具来连接服务器
在终端中输入,可以进入本地的80端口

talnet 127.0.0.1 80

需要我们输入ip地址和端口号,使用“www.sina.com”等域名也可以代替IP地址。

Socket类和ServerSocket类

java利用socket套接字来连接网络,Soket类提供两个重要的方法
1.InputStream getInputStream()
2.OutputStream getOutputStream()
用来获取输入流和输出流。

java利用ServerSocket类来建立一个服务器。

ServerSocket s = new ServerSocket(8080)
Socket coming= s.accept();

以上代码可以创建一个监控本地端口8080的服务器,同时一旦有人发送连接服务器请求,会返回一个名为coming的Socket对象。可以利用Socket对象来获取对服务器输入和输出。

多用户连接服务器

为了使多个用户能够同时连接服务器,可以是用多线程技术。

...
//创建服务器
ServerSocket s = new ServerSocket(8080);
//具体处理
while(true){
    Socket coming=s.accept();
    Runnable r=new ThreadedEchoHandler(coming);
    
    Thread t=new Thread(r);
    t.start();
}
//使用多线程来实现多个客户端连接
class ThreadedEchoHandler implements Runnable{
    ...
    public void run(){
        try{
            InputStream in=coming.getInputStream();
            OutputStream out=coming.getOutputStream();
            ...
            coming.close();
        }catch(IOException e){
        e.printStackTrace();
        }
    }
}