ժҪ: ���ĸ���(j��)������ʹ����Ƭ�CTCP/IP�_�l(f��)���^���еĽ�(j��ng)��B����Ƭ�CTCP/IP�_�l(f��)������;������x����Ƭ�CTCP/IP�_�l(f��)�������ʹ��TCP/IP�_�l(f��)���M�����Ŀ���_�l(f��)��������Ҫ���F(xi��n)��Ƭ�CTCP/IP���g(sh��)�ij��W(xu��)�߁��f��һ���Ľ��b���x��
�P(gu��n)�I�~: ��Ƭ�C��TCP/IP���_�l(f��)�����W(xu��)��(x��)������Ƭ�C�ϾW(w��ng)��
1 �� ��
��Ƭ�CTCP/IP�_�l(f��)������Q֮���Ƭ�CTCP/IP�W(xu��)��(x��)�壩�Ǟ��ṩ�Ñ�W(xu��)��(x��)��Ƭ�CTCP/IP�f(xi��)�h�����g(sh��)���Ķ��O(sh��)Ӌ�Լ��Ļ��چ�Ƭ�CTCP/IP�Ŀ���ṩ��һ�N�_�l(f��)����
�ڮ�(d��ng)����Ϣ�r����Ӌ��C��(li��n)�W(w��ng)�ѽ�(j��ng)�������^�ɵ���Ƕ��ʽ�O(sh��)���(li��n)�W(w��ng)��(li��n)�W(w��ng)���g(sh��)�Ͳ��ò��ᵽTCP/IP�f(xi��)�h�����@����Ҫ��Ƕ��ʽ�O(sh��)���ό��F(xi��n)Ƕ��ʽTCP/IP�f(xi��)�h�������ڸ߶˵�Ƕ��ʽCPU�������\��Linux�Ȳ���ϵ�y(t��ng)���F(xi��n)Ƕ��ʽTCP/IP�f(xi��)�h���������^������������51��Ƭ�C��AVR��Ƭ�C��PIC��Ƭ�C�ό��F(xi��n)TCP/IP�f(xi��)�h���ͱ��^��(f��)�s�����TCP/IP�f(xi��)�h����CPU ���ٶ�����(n��i)������Ҫ����^����
�����چ�Ƭ�C�ό��F(xi��n)TCP/IP�f(xi��)�h���������ȫ���^�_ʼ���F(xi��n)���t��Ҫ�ׂ��µ�����Č��F(xi��n)�����چ�Ƭ�C�ϾW(w��ng)�Ŀ���_�l(f��)��һ�����c���y�c�����Ǿ���Ҫ��Ƭ�CTCP/IP�_�l(f��)����������Ҫ��51��Ƭ�C�ϵ�TCP/IP�f(xi��)�h��������
2 ��Ƭ�CTCP/IP�_�l(f��)�����;
Ŀǰ��Ƭ�C�ϾW(w��ng)���g(sh��)��һ�����T���g(sh��)���ܶ��У�W(xu��)���x���c�����P(gu��n)�Į��I(y��)�O(sh��)Ӌ��ͬ�r��УҲ���c�����P(gu��n)���Ŀ�����˿��ٌ��F(xi��n)��Ƭ�CTCP/IP������ͨ�^ʹ����Ƭ�CTCP/IP�_�l(f��)���팍�F(xi��n)��һ��һ����Ƭ�CTCP/IP�_�l(f��)����Ҫ�������µă�(n��i)�ݣ�
1�� ��Ƭ�CTCP/IP�f(xi��)�h�����Ñ����Ը���(j��)�f(xi��)�h���ṩ���Ñ��ӿځ팍�F(xi��n)TCP�İl(f��)���B���������B�����l(f��)�͔�(sh��)��(j��)�����Ք�(sh��)��(j��)���P(gu��n)�]�B�ӵȲ����������ԓ�f(xi��)�h���܉����BSD socket�ӿ���
2�� Ӳ���·�弰�����P(gu��n)�B�Ӿ����ô�Ӳ�����Խ���Ƕ��ʽTCP/IP���h(hu��n)����
3�� Ӳ��ԭ��D���@���Է����Ñ����P(gu��n)Ӳ�����ɵ��Լ����·������
4�� �����_�l(f��)���ߣ���Ƕ��ʽTCP/IP���h(hu��n)���б��Ҫ��PC�C�˵�ܛ�������Ժ��_�l(f��)���M��ͨ����
3 ����x���Ƭ�CTCP/IP�_�l(f��)��
3. 1 ����_�l(f��)��
Ŀǰ��Ƭ�CTCP/IPһ��������16λ��32λ�Ć�Ƭ�C��LWIP������8λ��Ƭ�C��uIP������51��Ƭ�C��ZLIP����Ŀǰ51��Ƭ�C�ϵ�TCP/IP�f(xi��)�h����uIP��ZLIP������ĿǰuIP����߰汾��V1.0��ZLIP����߰汾��ZLIP��ֵ��V1.0��
�����ϵ��_�l(f��)�����Ϲ��_�l(f��)�W(w��ng)��Ƭ�CTCP/IP�_�l(f��)������������ӟo�n�W(w��ng)��51��Ƭ�CTCP/IP�ϾW(w��ng)�_�l(f��)�����Ϻ�����51��Ƭ�CTCP/IP�_�l(f��)������
3. 2 �x��ע�����
�����Ƭ�C�ϾW(w��ng)���g(sh��)�W(xu��)��(x��)�ߣ��x��һ����m���_�l(f��)�匦�ڌW(xu��)��(x��)���°빦�������x���_�l(f��)��r��(y��ng)ԓע�������}��
1�� �r�]��TCP/IP�_�l(f��)�������Ҫ�Ė|������TCP/IP�f(xi��)�h��������Ӳ���ijɱ��������úܵͣ����Բ�Ҫ���̓r�������˺���ܛ��������TCP/IP�f(xi��)�h�����ԏ����·��濼�]��
a) ��(w��n)���ԣ��̼��ṩ��TCP/IP�f(xi��)�h���Ƿ���ȫ��Ĝyԇ���Ƿ����B�m(x��)PING����r�²��ྀ���Ƿ��ڰl(f��)�ͽ��ܴ�(sh��)��(j��)��������10M���ϣ��r���Gʧ�κ��ֹ�(ji��)������ʹ���߁��f����f(xi��)�h������(w��n)������ô�����Ŀ������_�l(f��)�������ܴ��韩��
b) �����ԣ�ʹ����Ƭ�CTCP/IP�_�l(f��)�����Ñ�һ�㶼����Ƕ��ʽTCP/IP��ʹ�ò�̫�˽����@����Ҫ�_�l(f��)���ṩ�������Ƶ��Y�Ϻ�ʹ���փԡ���������(sh��)���x����������ӳ������
c) �S�ҵļ��g(sh��)��ijЩ�S��ֻ�Ƿ�ð���˵��_�l(f��)�壬�Ñ���ʹ���������Ć��}�����o���o�ڽ�����@����Ҫ�Ñ����ԓ�f(xi��)�h���Ƿ��ǏS���Լ��O(sh��)Ӌ����
2�� ����b���|(zh��)�����C������b���ÿ���ʹ���Ñ��յ��r���_�l(f��)���ѽ�(j��ng)���\ݔ�^�����ܓp���o��ʹ����
4 ʹ��TCP/IP�_�l(f��)��
�����B���ʹ��TCP/IP�_�l(f��)����M���Ŀ�_�l(f��)��
4. 1 �_�l(f��)����
4. 2 �_�l(f��)�岿��
һ���_�l(f��)�屾����һ����Ƭ�Cϵ�y(t��ng)��������CPU��RAM���Դģ�K���W(w��ng)�j(lu��)ģ�K���W(w��ng)�j(lu��)ģ�K�кܶ��x�����@����RTL8019AS�������f���������ⲿ�ӿ�������Ҫ���ǣ���W(w��ng)���ӿں͢�����������_�l(f��)���PC�B�ӵĽӿ���
4. 3 �����_�l(f��)�h(hu��n)��
������Ƭ�CTCP/IP�_�l(f��)�h(hu��n)���IJ��E�����ײ���
1�� �B�����B���nj��_�l(f��)���cPC�C�Ĵ����B�����o�_�l(f��)����늣�Ȼ���_�l(f��)���B�ӵ���PC��ͬһ���W(w��ng)������
2��
���bܛ������Ҫ���b�_�l(f��)��ľ��g�h(hu��n)��������51��Ƭ�C��һ���x�� KeilC51
3�� �yԇ�B�ӣ�һ�����ͨ�^PING����������ping 192.168.0.2 �Ct��yԇ�_�l(f��)���PC�C�ľW(w��ng)�j(lu��)�Ƿ�̎���Bͨ��B(t��i)��
4. 3 �_�l(f��)�����_�l(f��)����³���
�@���B����ڲ����_�l(f��)��Ӳ���Ļ��A(ch��)�����_�l(f��)�Լ��Ć�Ƭ�CTCP/IP�������_�l(f��)�³���������_�l(f��)���ṩ��TCP/IP�f(xi��)�h���Ļ��A(ch��)���_�l(f��)��(y��ng)�Ìӵąf(xi��)�h������TCP�Ӻ�IP�Ӷ��ѽ�(j��ng)�ṩ�������Ñ����ÿ��]���е��\�ЙC�ơ�TCP/IP�f(xi��)�h��һ����Ñ��ṩ���µĽӿڣ�
1�� ��ʼ���f(xi��)�h����ጷŅf(xi��)�h���ĺ���(sh��)�ӿ������Init(), Release()֮ĺ���(sh��)��
2�� �ṩ���BSD socket��socket, sendto, recvfro, connect, bind, listen, accept, send, recv, closesocket, shutdown, getpeername, getsockname, htonl, htons, ntohl, ntohs, inet_addr,inet_ntoa,ioctlsocket,setsockopt, getsockopt,select��API����(sh��)���Ñ��{(di��o)�ô����(sh��)�M�аl(f��)���B���������B�����l(f��)�͔�(sh��)��(j��)�����Ք�(sh��)��(j��)���P(gu��n)�]�B�ӵȲ�����
3�� �����B�ӡ����Ք�(sh��)��(j��)�������P(gu��n)�]��̎�������ڴ��������λ�C�l(f��)���������TCP/IP�f(xi��)�h������ṩһ�יC�Ɓ�̎������¼��İl(f��)����һ����f�ЃɷN������
a) ���ӵȴ�������ʹ��BSD��recv()����(sh��)�ȴ���(sh��)��(j��)�ĵ�����
b) ���{(di��o)�C�ƣ��������MFC��OnReceive()����(sh��)�Ļ��{(di��o)�C����Ҳ�����f�ڽ��յ���(sh��)��(j��)�ĕr����Ԅ��{(di��o)��OnReceive()����(sh��)��
��ô�Ñ����ʹ�����ϵĽӿځ팍�F(xi��n)�h�̿������h�̔�(sh��)��(j��)�ɼ����������ܺ��Ρ�
����F(xi��n)����Ҫ���F(xi��n)һ����LED�������͜���h�̿��Ƒ�(y��ng)��������PC�Cʹ��TCP/IP�l(f��)��������SocketDlgTest����l(f��)��һ���ֹ�(ji��)�ġ�1�����_�l(f��)�壨����(j��)�_�l(f��)���IP��ַ�l(f��)�ͣ����_�l(f��)����OnReceive����(sh��)�аl(f��)�F(xi��n)�յ����ǡ�1������ô��ͨ�^P1�˿ڌ������_����֮����յ����ǡ�0���t����Ϩ�硣
����nj��F(xi��n)һ���h�̔�(sh��)��(j��)�ɼ��đ�(y��ng)�������綨�r�M�МضȲɼ�������PC�Cʹ��SocketDlgTest����ȴ��l(f��)�픵(sh��)��(j��)���_�l(f��)��ÿ��һ�Εr�g�ɼ�һ����(sh��)��(j��)��Ȼ��ͨ�^send()����(sh��)����(sh��)��(j��)�l(f��)�ͽoPC�C������(j��)PC�C��IP��ַ�l(f��)�ͣ����@��PC�ͽ��յ��ˮ�(d��ng)ǰ���h�̜ضȔ�(sh��)��(j��)��
4. 3 �_�l(f��)������Ӳ���ij���
ͨ�^���_�l(f��)�����_�l(f��)����³���һ��(ji��)�Ľ�B�����_�l(f��)������Ӳ���ij�����������������@ֻҪ����(j��)��Ƭ�CTCP/IP�_�l(f��)������(y��ng)��Ӳ���{(di��o)��ͨ�^��Ƭ�C�Ŀ��ƶ˿�����P1�M�п��ƻ��ߔ�(sh��)��(j��)�ɼ�������