Internet通信3-Socket服务器

来源:互联网 发布:好布业软件jshby 编辑:程序博客网 时间:2024/06/10 03:13
1,当你向另一个人联系时,需要一部手机,即Socket,对方的号码即端口,对方的即是服务端,需要即时接收来自外部的呼叫,需实时至少监听主机上一个端口的客户链接即accept();
//只是通俗说法。。。。。。
端口:一般1~1024为Internet地址分配,不推荐使用
a)创建SocketServer实例,并将该端口号座位参数传递给构造函数
ServerSocket sev = new ServerSocket(8888);
b)然后使用accept()来监听该端口
sev.accept()
c)使用输入输出流来从客户端读取数据和数据写入;
2,测试服务器
使用win7自带的Telnet作为客户端
open localhost XXXX   //端口号
package Internet;

import java.io.*****;
import java.net.****;
import java.util.Date;

public class TimeSever extends Thread{
     private ServerSocket sock;
    
     public TimeSever(){
         super ();
         try {
             sock new ServerSocket(4415);
            System. out .println("程序正在运行。。。。。。。" );
        } catch (IOException ie ){
            System. out .println("不能创建套接字!" );
            System. exit(1);
        }
    }
     public void run(){
        Socket cilent null ;
        
         while (true ){
             if (sock == null)
                 return ;
             try {
                 cilent sock.accept();
                BufferedOutputStream bos newBufferedOutputStream(cilent .getOutputStream());
                PrintWriter os new PrintWriter(bos ,false );
                String outLine ;
                
                Date now new Date();
        //返回一个当前时间给客户端
                 os.println( now);
                 os.flush();
                
                 os.close();
                 cilent.close();
            } catch (IOException ie ){
                System. out .println("不能连接到客户端" );
                System. exit(1);
            }
        }
    }
     public static void main(String[] args) {
        TimeSever sever new TimeSever();
         sever.start();
    }
}
欢迎使用 Microsoft Telnet Client

Escape 字符为 'CTRL+]'

Microsoft Telnet> ?\
Microsoft Telnet> open localhost 4415
正在连接localhost...


Tue Sep 22 18:55:23 CST 2015


遗失对主机的连接。

按任意键继续...

0 0
原创粉丝点击