🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.program
Article #844

��TCP/IP�׽��ֿ�������Ӧ��

#844
From: ���ܵ�Сʨ
Date: Thu, 07 May 1998 00:00
116 lines
10785 bytes
    �����ʮ����,���ż��������缼���ķ�չ,�ܶ���ݴ���ϵ
ͳ�����ÿ���ϵͳ�ṹ�Ŀͻ���/����������ģʽ,���ͻ����������
����,ͨ�����緢�͸������,�ɷ���������Ӧ����,ִ�б��������
��,Ȼ�󽫽��ظ�ͻ�������:����ATM��ǰ�û����ݴ����
����֮�伴���ɿͻ���/����������ģʽ;�绰���е�ǰ�û��������
�ݴ�������֮��Ҳ������������ģʽ�ṹ�ȡ�����,�����ǰ�û��
�������֮�������Ϣ����,���������ͨ��,�ͳ�Ϊʵ����������ģ
ʽ�Ļ���TCP/IP���׽��ּ����ǽ����һ������������ߡ����
���ʱ��һֱ��������������Ҫ������,���ѳ�ΪUNIX����ϵͳ��TCP
/IP�����̱�׼;����i ndows��Java���������ͨ�ýӿڡ�������
��ǿ�����Ĺ���,���ǿ���ʵ�����ֻ����ֲ���ϵͳӦ�ó�����
�໥���Ӻ�ͨ�š�

    �����
    �׽���(sockets)��֧��TCP/IPЭ�������ͨ�ŵĻ������Ԫ
�����Խ��׽��ֿ�����ͬ�����Ľ�̽���˫��ͨ�ŵĶ˵㡣���
���ڵ��������ڼ������ʼ�ı�̽��档һ����˵,���Ӧ�ý��
֮��Ҫ�����绷���½���ͨ��,����Ҫ�������ÿһ�˶�Ҫ����һ��
�׽���,�����׽���֮���ǿ��Խ������ӵ�,Ҳ�ǿ��������ӵ�,��ͨ
����׽��ֵ�"��"��"д����ʵ������ͨ�Ź��ܡ�������UNIXϵͳ��
��I/O����,���ļ������д򿪡�����д���رյķ�ʽ����ݴ������
���͵IJ�ͬ,�׽��ֿɷ�Ϊ�������ӵ�����ֽ����׽���(stream sco
ets )�������ӵ���ݱ��׽���(datagram sockets)�������͡�
    1.�ֽ����׽���
    �ֽ���������¼����,��TCP/IPЭ����ж�ӦTCPЭ��,�������
��Э��(Transmitionon trol Protocol)������һ���ṩ���û����
�ɿ���ȫ˫�����������ӵ�Э��,�����Intrne tӦ�ó�����ftp��te
lnetʹ��TCPЭ�顣ͨ�Ŷ˵�ʹ��TCP��Ӧ��Internet��ַ��������,
�ɱ�֤����ȷ��˳���Լ���һ�Ϳɿ��ĵ�ַ������ݡ����������ֽ�
��,���԰��û������,�Ű���Ҳ���ظ�,�����һ�ֳ��õ��׽�
�����͡�
    2.��ݱ��׽���
    ��ݱ���Ӧ��¼�������,��TCP/IPЭ����ж�ӦUDPЭ��,����
����ݱ�Э��(UserDaa gram Protocol)��������ݱ������ʵ��һ
Щ�򵥵��������,����������Ping�����ڲ���������,��ݱ�Э
�������Э���,�����ܱ�֤������ݶ�׼ȷ����ص���Ŀ�ĵء���
��֤˳���ԡ��ɿ��Ժ����ظ��ԡ����������ӵķ���,�Զ������Ű�
���д���,ͨ�Ŷ˵�ʹ��D P��Ӧ��Internet��ַ��˫�����軥��,��
�̶�����󳤶Ƚ��д���,��������ڵ������Ĵ���,���С�ļ��Ĵ�
�䡣

    �׽��ֵı��Ҫ�㼰�������
    ���ۺ����׽��ֱ��,����ÿͻ���/��������ʽ,�����ù�̻�
������,����ƪ��,����������ֽ����׽��֡��ֽ����׽��ֵķ����
�̺Ϳͻ����,��ͨ��ǰ���봴�����Ե��׽����Խ�������,Ȼ�����
Ӧ���׽��ֽ���"��"��"д"����,ʵ����Ϣ�Ľ������������¡�
    1.��������̴����׽��֡��������������ڿͻ��������,��
�������ȵ���scok et()�����Լ��˵�һ���ֽ����׽���,����
���������:�����ַ����,һ��ȡAF-N ET(Address family InterNE
T);�׽�������,����ȡSOCK-STREAM;����Э��,ȱʡΪTCP/IЭ��,��
Ӧ����Ϊ0��

    2.���׽��ֵ�ַ��������ֵ��������׽��ֺ�,Ҫ�÷������ĵ�
ַ�ȶ�sockaddr��in �ṹ��������ֵ��scokaddr��in��/usr/includ
e/netinet/in.h���ж���,��ֻ������n ternet��ַ����,����Intern
et�׽��ֵ�ַ���͡�IP�˿ںš�IP��ַ����Ϣ����ַ���Ϳ�ȡ��ΪAF
��INET,IP��ַ�Է�������ȡ����Ϸ���ַINADDR��ANY��IP�˿ںſ�
���û��趨,��Ҫע�������ֽ�˳���������ֽ�˳���ת����

    3.���׽���������socket()������׽�����û�����ֵġ�
��ν����,������bi nd()�����������ַ���󵽴������׽����ϡ�

    4.���������׼���������Կͻ���������������ȵ���listen
()����,�÷�������̽������״̬;Ȼ�����accept()����,׼����
�ܿͻ���������źš�����������ʱ�����̱�����

    5.�ͻ���̵���scoket()�������Ѷ˵��׽��֡�
    6.��ͻ��˵�sockaddr��in�ṹ�������ֵ����ַ�����Կ�ȡAF
��INET,�˿ںźͷ��������Ķ˿ں���ͬ,�����������ĵ�ַͨ�����
inet��addr()ת���õ���Ҳ��ͨ��gt hostbyname()��������ת��
Ϊָ��hostent�ṹ������ָ��,�ٽ�hostent�ṹ�����ĵ�ַ��Ա��b
copy()���Ƶ�sockaddr��in�ṹ�����ϡ�

    7.�ͻ�������connect()����������̷�����������
    8.��������������,����������̵�accpet()�������һ��
�µ��ֽ����׽���, �����ؿͻ����sockaddr-in�ṹ����,�Ӷ��ڷ�
����Ӧ�ó��������µı�����ͻ����ַ���׽���ͬ�ͻ���̽�����
��,Ȼ����ͻ������ؽ����źš�
    9.һ���ͻ�����׽����յ����Է������Ľ����ź�,���ʾ�ͻ�
���������˫����ʵ�����ӡ���һ�������Է�����,Ҳ�ɽ��նԷ�
��������ݡ���ȿ�ͨ��send()��rec( )������ʵ��,Ҳ��ͨ��read(
)��write()������������ݡ�
    10.�����̺Ϳͻ���̿�ͨ�����shutdown()��close()�ر���
�����ϵ����з��ͺͽ��ղ���,�����׽��ֲ��ж����ӡ�
    ��������ϵͳ����������libsocket.aϵͳ����,IBM PC (UNIX
)����ϵͳ����ʱ���llibsocket���ӡ�IBM RS/6000(AIX)����ϵͳ
����ʱ����˲���
    ���������̿�����ͼ��ʾ:
ͼ1

    ���ʾ��
    ���ĸ��һ�������ֽ����׽��֡���TCP/IP������ʵ�ֿͻ���/
��������ʽ���ͨ�ŵ�ʵ��,�ó�����IBM RS/6000С�ͻ��IBM PC 5
86΢���ϵ���ͨ������Ҫģ�����ʺŲ�ѯ���Ĺ��,�ͻ�����
һ̨�绰���е�ǰ�û�(IBM PC),��������������ݴ�������(IBM R/
 6000)��ͨ�Ź�̰�������:

    1.�ͻ���ӱ�׼��������ʺ�,�����ʺŷ��͸��������
    2.���������ո��ʺź�,�����ж��Ƿ��д��ʺŵ����,�������
���ظ�ͻ���
    3.�ͻ�����շ��ص���Ϣ,�����������ڱ�׼����ϡ������
�������ڿͻ�����������ͻ��������ʱҪЯ���������IP��ַ,��:
clientpros 23.169.1.1��
    ����ע:�������ṩ�ij��򿯵��ڱ�����WWWվ����,��ַ��:http
://www.computerword .co.cn/skills/shill.html����ӭ����!

--
 ________ _____          _____        ______________  _____ 
 ___  __ \___(_)________ ___(_)       __  ___/___  /_ ___(_)
 __  /_/ /__  / ___  __ \__  /        _____ \ __  __ \__  / 
 _  ____/ _  /  __  /_/ /_  /         ____/ / _  / / /_  /  
 /_/      /_/   _  .___/ /_/          /____/  /_/ /_/ /_/   
                /_/                                         

�� ��Դ:���ϴ�С�ٺ���Ϣ����վ bbs.nju.edu.cn��[FROM: hsia.nju.edu.cn]
Technical Details
Message-ID: <3OOYOF$uTD@bbs.nju.edu.cn>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB
X-Google-Thread: fc86e,c2e6848f3847690d,start
X-Google-Attributes: gidfc86e,public
From: pipishi.bbs@bbs.nju.edu.cn (���ܵ�Сʨ)
Subject: ��TCP/IP�׽��ֿ�������Ӧ��
Date: 1998/05/07
Message-ID: <3OOYOF$uTD@bbs.nju.edu.cn>
X-Deja-AN: 351560163
X-Filename: Programming/M.894547599.A
Organization: nju_bbs
Newsgroups: cn.bbs.comp.program