efuns - sockets - socket_accept

MudOS v21c2

socket_accept(3)�� MudOS v21c2�� (5 Sep 1994)

�����ƣ�
    �� socket_accept() - ����һ�� socket ������(connection)
    ��
���﷨��
    �� #include <socket_err.h>

    �� int socket_accept( int s, string read_callback, string write_callback );

    �� ���� socket_accept( ���� s, �ַ��� read_callback, �ַ��� write_callback );
    ��

���÷���
    �� ���� s ��һ������ socket_create(3) �������� socket_bind(3) ָ����һ��λַ������������(listen)�� socket_listen(3) ֮�����ӵ� socket��socket_accept() ��δ����(pending)������������ѡȡ��һ�����ӣ�����һ���� s ��ͬ���Ե��� socket ��������һ���µ�����ֵ(descriptor)�������������û��δ��������ӣ�socket_accept() �᷵���������ᵽ�Ĵ���ֵ����������ܵ� socket ������������������һ�˶�д���ݣ��������������ܱ�����ӡ�ԭ�ȵ� socket s �򱣳ֿ����Խ���δ�������ӡ�

    �� read_callback ��������Ǹ�����������һ���µ� socket��������Ҫ���ܵ� socket����������ʱ���õĺ������ơ������ȡ�غ��� (callback) Ӧ�������и�ʽ��
    ��

      ���� void read_callback(int fd)
    �� ����� fd ��׼���������ݵ� socket��

    �� write_callback ��������Ǹ������������µ� socket��������Ҫ���ܵ� socket��׼����д��ʱ���õĺ������ơ����д��غ���Ӧ�������и�ʽ��
    ��

      ���� void write_callback(int fd)
    �� ����� fd ��׼����д��� socket��

    �� ע�⣺����� socket �������رգ�Ʃ��� socket_close(3) �ĵ��ý����ͬ�Ļ�����������Ҫ���ܵ� socket�������µ� socket���� close_callback������رջغ���Ӧ�������¸�ʽ��
    ��

      ���� void close_callback(int fd)
    �� ����� fd ���ѹرյ� socket��
    ��

������ֵ��
    �� socket_accept() �ڳɹ�ʱ�᷵��һ�������ѽ��� socket �ķǸ�������ֵ��ʧ��ʱ��������һ����ֵ��socket_error(3) ���������õ�����������������䡣
    ��
������ֵ��
    �� EEFDRANGE���������� ����ֵ������Χ��

    �� EEBADF���������������� ��Ч������ֵ��

    �� EESECURITY�������� ��ͼΥ����ȫ��

    �� EEMODENOTSUPP�� ��֧Ԯ�� socket ���͡�

    �� EENOTLISTN�������� socket ����������

    �� EEWOULDBLOCK���� ��������ͣ��(block)��

    �� EEINTR���������������� �жϵ�ϵͳ���á�

    �� EEACCEPT������������ �������⡣

    �� EENOSOCKS���������� û�ж���� efun sockets��
    ��

�����գ� �����룺

�ص���һҳ