Socker学习

socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种"打开—读/写—关闭"模式的实现,服务器和客户端各自维护一个"文件",在建立连接打开后,可以向自己文件写入内容供对方读取或者读取对方内容,通讯结束时关闭文件。

对应java sorcker来说,可以用以下图列说明:

我们先来看看Socker官方API怎么说的:socker是两台机器之间的终节点。

http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html

下面我们看一下ServerSocket。

ServierSocket的主要作用是用来监听端口号是否有事件发生,同时返回与请求相关的socket对象。进行通信。以下这段代码,当用浏览器访问127.0.0.1:8888 的时候,控制台会输出

新增连接:/127.0.0.1:65475
新增连接:/127.0.0.1:65476

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerSocketDemo {

  static   ServerSocket serverSocket =null;

    public ServerSocketDemo() throws IOException {
    }


    public static void main(String[] args) throws IOException {
        serverSocket = new ServerSocket(8888);
        service();
    }
    public static void service() {
        while (true) {
            Socket socket = null;
            try {
                socket = serverSocket.accept();
                System.out.println("新增连接:" + socket.getInetAddress() + ":" + socket.getPort());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

转载于:https://my.oschina.net/marjeylee/blog/782090

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值