zoukankan      html  css  js  c++  java
  • Linux网络编程--socket

    1、socket的核心思想是,作为服务器间的进程间通信的最底层的实现,常用的大部分网络协议都是基于socket实现。

         

    2、socket 是如何与最终的低层收发包建立联系的?

         

    3、socket 是如何与VFS建立关系的?

    4、TIPC与socket的关系。

         

    5、Socket与EPOLL之间的关系

          因为对于服务器端程序而言,可以同时接受很多客户端的socket连接,那么,必须实现并行处理的机制,常用的方法是多进程,也就是说,服务器端的socket一旦建立连接后,立即生成一个新的进程与客户端之间进行后续socket处理,原先的socket继续监听新的客户端请求,那么,此时就存在一个问题,那么多的客户端socket, 哪些有数据接收到了呢? 传统的方法是轮询,这个效率台低,于是使用epoll机制,只有在真正有数据待处理时才会产生事件。于是提高了处理效率。

    二、socket编程举例:

    1. windows socket, linux socket, python socket, linux shell socket编程。

       windows socket编程

    2. Linux shell socket编程举例

        (1)字符串交互

         服务器端: nc -l 1234          -----> 表示在本地的1234端口上启动socket监听。

         客户端: nc 192.168.248.156  1234        ---> 表示连接到服务器的1234端口。

         然后客户端在shell上输入的内容,就会显示在服务器端的shell 命令中,同理,服务器在shell中输入的内容会显示在客户端的shell中。

         下面是服务器端的命令:

         

         在客户端上,输入如下命令:

    (2)传文件

       与上述服务器端类似,把服务器端和shell重定向相结合,将接收到的内容保存到文件,而客户端直接发送一个文件,即可完成文件的传输。

       

       

       下面是客户端程序:

        

  • 相关阅读:
    Ubuntu完全教程,让你成为Ubuntu高手!
    Centos7安装完毕后重启提示Initial setup of CentOS Linux 7 (core)的解决方法
    MS SQL操作Xml示例
    MY SQL sql_mode设置
    MS SQL " 无法启动分布式事务"问题的解决思路
    MS SQL常用系统表汇总
    SQL不同服务器数据库之间数据操作整理
    OPENQUERY用法
    SQL Compare 10.4.8.87 Edition 数据库比较工具 完全破解+使用教程
    各种主流 SQLServer 迁移到 MySQL 工具对比
  • 原文地址:https://www.cnblogs.com/zhouhaibing/p/7669278.html
Copyright © 2011-2022 走看看