学习网络编程的感受

在掌握Linux下的C编程学习网络编程的时候,总有一种莫名的兴奋,不是因为学到了这一步,而是因为终于不再编写一些让自己感到厌恶的程序了,终于不再只写本地化的程序了,结束了以前没完没了的IO文件操作、目录操作、进程、线程、进程间通信这些程序了。在学习网络编程之前我有无数的想象,想象自己能够写出了非常有意义的程序,在学习完《UNIX网络编程》前17章左右的时候,我写出了第一个自己的程序,这个程序足足写了2天,各种查资料,这个程序只有一个作用,那就是一个server端程序,和client端程序,这个程序由server端发出请求,当client端接收到这个请求时,就会执行相应的命令,并将结果存于文件中,并发往服务端。在写完这个程序时我激动了好久,让我对未来充满了美好,然而越往后学习困难越来越多,在最终学习完的时候,任然感到自己掌握的太少,相信在未来我能够写出比Ansible、puppet等等更好的程序

原文地址:http://blog.51cto.com/10018586/2154945

时间: 2024-10-02 01:50:27

学习网络编程的感受的相关文章

再论关于如何学习网络编程

前些天在一个论坛上和一位朋友争论了学习网络编程的方法,而后发表了<TCP协议疑难杂症全景解析>,不算猛文,但也得到了一些回应,大家都是对Richard Stevens的两本书情有独钟:<TCP/IP详解(前两卷)>/<Unix网络编程>.我提出了自己的不同的声音,首先我不同意这两本书很重要,其次我觉得这两本书根本就不重要! 首先声明,本人并不是什么高手或者顶级黑客,也没有能力通过TCP/IP网络将电话免费盗打到梵蒂冈教皇那里,...只是稍微了解一些任何人本应该都了解的东

初识Socket通信:基于TCP和UDP协议学习网络编程

学习笔记: 1.基于TCP协议的Socket网络编程: (1)Socket类构造方法:在客户端和服务器端建立连接 Socket s = new Socket(hostName,port);以主机名和端口号作为参数来创建一个Socket对象. Socket s = new Socket(address,port);以InetAddress对象和端口号作为参数来创建一个Socket对象. 创建Socket对象时可能抛出UnknownHostException或IOException异常,必须捕获它们

Python学习---网络编程 1217[all]

OSI七层模型: 物理层, 数据链路层, 网络层,传输层,会话层,表达层,应用层 应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 传输层:TCP,UDP 网络层:IP,ICMP,OSPF,EIGRP,IGMP 数据链路层:SLIP,CSLIP,PPP,MTU [图片来自网络] 网络通信要素: A:IP地址    (1) 用来标识网络上一台独立的主机 (2) IP地址 = 网络地址 + 主机地址(网络号:用于识别主机所在的网络/网段.主机号:用于识别该网络中的主

python学习 网络编程--socket

网络通信标准---网络协议互联网协议--osi七层协议五层协议:应用层:应用层.表示层.会话层          传输层:传输层    网络层:网络层    数据链路层:数据链路层    物理层:物理层物理层就是用来发送电信号的数据链路层跑协议,分组标准. ethernet以太网协议,规定电信号如何分组电信号拿来后是一堆数据,只要规定了怎么分组才能拿到正确数据ethernet规定一组电信号构成一个数据报,叫做帧每一数据帧分成:报头head和数据data两部分但凡接入互联网必须要有网卡每个网卡出厂

python学习-网络编程

socket socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. socket 与 file 的却别: file 是对指定文件进行打开,读写,关闭 socket 是对服务器和客户端的 socket 进行打开,读写,关闭 一.socket 客户端与服务器交互流程 简单实例 服务端将客户端发送的字符串转成大写后再返回给客户端 import socket sk = socket.socket()

python学习 网络编程--主机命令执行

import osos.system()执行系统命令只能执行命令不能返回值import subprocess  能执行系统命令res=subprocess.Popen('dir',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)第一个参数是执行命令的字符串形式,第二个是shell=True代表使用命令解释器PIPE是subprocess提供的一个功能,管道.可以让结果不打印存在管道里面print(res.stdout.read()

java学习——网络编程

UDP 将数据及源和目的封装成数据包中,不需要建立连接 每个数据报的大小限制在64k内 因无连接,是不可靠协议 不需要建立连接,速度快 TCP 建立连接,形成传输数据的通道 在连接中进行大数据量传输 通过三次握手完成连接,是可靠协议 必须建立连接,效率会稍低 Ip获取: import java.net.InetAddress; import java.net.UnknownHostException; public class IPDemo { public static void main(S

Java学习之网络编程实例

转自:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616413.html 多谢分享 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的.首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电话号码

Java 网络编程学习总结

新手一枚,Java学习中,把自己学习网络编程的知识总结一下,梳理下知识,方便日后查阅,高手莫进. 本文的主要内容: [1]    网络编程认识                [2]  TCP/IP编程小例子 [3]   UDP编程小例子 [4]  简单线程池实例 一.网络编程的主要认识 Java是一种基于网络设计的语言,用于开发网络软件特别便利. 它对于网络的操作都是基于IP层以上的,也就是对TCP/UDP进行操作,所以java的网络编程又称为Socket编程. 一种是TCP/IP 网络编程,