`

C#网络编程第一天

阅读更多

掌握一门语言,我一般从以下几个方面入手:

网络编程。数据库的连接。多线程。Web开发(如果流行的话)。

其实严格说起来,这些特性不是一门“语言”的特性,而更像这门语言的“生态”的特性。

网络和数据库是必须要了解的;

多线程,如果没有多线程,世界真的很不美好。哪怕是像Python那样的伪多线程也好啊。

Web开发。事实上我们的程序有时候必须要有GUI。但开发GUI真的是一件让我心烦意乱的事情。如果是CS模式中ClientGUI,更让人难以忍受。所以我宁愿选择Web这类BS的开发模式,还可以选用Flex来增强用户体验。

其实这些的前提在于一个熟练的程序员,对主流高级语言的特性和必须的内置工具应该了然。依我愚见,各类语言我非就是把ifwhilefor,一些常用的util类,拼凑一下。如果能合理的运用一些设计模式就更好了。如果对工业应用中可能遇到的常用问题都考虑到,并尝试挖掘该语言中解决这类问题的代码(各类解决方式的思想常常是一致的),就更靠谱了。

申明一下,一家之言,针对初中级选手,高手不要拍我。

有个例外就是在OO或者函数式语言之间的切换可能不会这么轻松。

我个人最熟悉的还是Java,故而在试图玩弄Erlang的时候险些被玩弄。幸亏以前在Python中接触到一些函数式语言的特性,才没有死的太难看。

今天就看了一下C#的网络编程。

 

MSDN中有一个关于Socket的示例,功能是抓取给定host的网页源码。

 

            // Get host related information.

            hostEntry = Dns.GetHostEntry(server);

 

            foreach (IPAddress address in hostEntry.AddressList)

            {

                IPEndPoint ipe = new IPEndPoint(address, port);

                Socket tempSocket =

                    new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

 

                tempSocket.Connect(ipe);

 

                if (tempSocket.Connected)

                {

                    s = tempSocket;

                    break;

                }

                else

                {

                    continue;

                }

            }

 

首先msDNS得到给定DNSIP,继而将ipport封装成IPEndPoint,并以此来Connect。稍后就可以开始Send数据balabala

略做修改,如果直接传入的就是ip,则有

 

            IPAddress ip = IPAddress.Parse(server);

 

继而可以封装成IPEndPoint

 

下一步就写个完整的C/S程序吧。

 

有个问题,为什么我在C#解决方案中不能写多个Main并选择性运行?

分享到:
评论

相关推荐

    C#每月第一天和最后一天

    在C#编程语言中,获取每个月的第一天和最后一天是一个非常实用的功能,尤其是在处理与日期相关的数据时。本文将详细解析如何使用C#代码来实现这一功能,并对给定的示例代码进行深入分析。 ### C# 获取每月的第一天 ...

    C#经典编程220例 源码

    这个压缩包包含了从第1章到第20章的全部源代码,这些章节涵盖了C#编程的基础到进阶的主题。虽然每个项目文件夹下的Debug目录已被删除,减少了文件大小,但并不影响我们学习和理解源码中的关键知识点。 C#是一种由...

    C#获取上个月第一天和最后一天日期的方法

    在C#编程中,有时我们需要获取特定月份的第一天和最后一天日期,比如上个月的日期范围。这在处理数据统计、报表生成或者时间相关的业务逻辑中非常常见。本篇文章将详细解析如何使用C#来获取上个月的第一天和最后一天...

    C#版网络五子棋

    这是我的C#网络编程的课程设计,记得这个游戏是我包了一宿编出来的。由于第二天要答辩,时间紧张留了一个大bug没改过来,就是没有解决窗体重绘功能。现在不玩C#了,也懒得去 修改了,谁改过来了,请告诉我!

    c# datetimepicker 每次加载的时候自动跳到每月的第一天

    在设计用户界面时,有时我们需要让这个控件在加载时默认显示当前月份的第一天,以便用户能快速设置一个起始查询日期。本篇文章将详细探讨如何实现这个功能。 首先,我们要了解`DateTimePicker`的基本属性和方法。`...

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_第26讲:深入委托

    在本节“VS2010轻松学习C# - 从零到深入 - 天轰穿.NET4趣味编程视频教程”的第26讲中,我们将深入探讨C#中的一个重要概念——委托。委托在C#中扮演着事件处理和回调函数的角色,是实现面向对象编程中的多态性和异步...

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_第08讲_流程控制-循环语句

    在本节“VS2010轻松学习C# - 从零到深入 - 天轰穿.NET4趣味编程视频教程”的第08讲中,我们聚焦于“流程控制 - 循环语句”。循环语句是编程语言中的关键概念,它们允许程序执行特定任务多次,而无需重复编写相同的...

    中兴编程规范_C#

    - 方法和变量名采用驼峰命名法(camelCase),第一个单词首字母小写,其余单词首字母大写。 #### 八、声明 在声明变量、方法或类型时,应遵循一定的规则,如: - 尽可能限制作用域,只在需要的地方声明变量。 - ...

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_ 第15讲:重载

    在本节《VS2010轻松学习C# - 从零到深入 - 天轰穿.NET4趣味编程视频教程》的第15讲中,主题聚焦于“重载”这一核心概念。重载是面向对象编程中的一个重要特性,尤其在C#中,它允许我们在同一个作用域内创建多个同名...

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_第14讲:类成员之方法与静态

    在本节“VS2010轻松学习C# - 从零到深入 - 天轰穿.NET4趣味编程视频教程”的第14讲中,我们将深入探讨C#编程中的核心概念——类成员,特别是方法与静态关键字的使用。天轰穿老师的教程以其生动有趣的教学方式,使得...

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_第1讲_DotNet与C#概述

    在本节"VS2010轻松学习C# - 从零到深入 - 天轰穿.NET4趣味编程视频教程_第1讲_DotNet与C#概述"中,我们将开始一段精彩的C#编程之旅。这是一份由天轰穿老师主讲的视频教程,通过VS2010集成开发环境,引导初学者轻松...

    21天精通C#,C#教程

    《21天精通C#》是一本针对C#编程语言深度学习的教程,旨在帮助初学者在短短21天内迅速掌握C#的核心概念和技术。C#是Microsoft开发的一种面向对象的编程语言,广泛应用于Windows平台上的软件开发,尤其是.NET框架下的...

    C# Socket编程(4)初识Socket和数据流

    在C#编程中,Socket是用于网络通信的核心组件,它提供了底层的网络接口,允许开发者创建TCP或UDP通信的应用程序。Socket编程主要涉及到网络编程的基本概念,如连接、数据传输和套接字类型。 1. Socket的类型 Socket...

    21天学通c#

    《21天学通C#》是一套专为初学者设计的C#编程教程,旨在帮助读者在短时间内掌握C#的基础知识和编程技巧。书名中的“21天”概念来源于心理学上的“习惯形成理论”,即通过连续21天的学习和实践,可以有效地形成新的...

    c#笔记第一天

    c#笔记,快速诠释c#,学号编程语言的第一步,不能不看的秘诀。

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_第25讲:委托与事件实例浅析

    在本节“VS2010轻松学习C# - 从零到深入 - 天轰穿.NET4趣味编程视频教程_第25讲:委托与事件实例浅析”中,我们将深入探讨C#编程中的两个核心概念:委托(Delegates)和事件(Events)。这两个概念在.NET框架中扮演...

    C#编程经验技巧宝典

    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 <br>1.1 Visual Studio开发环境安装与配置 2 <br>0001 安装Visual Studio 2005开发环境须知 2 <br>0002 配置合适的Visual Studio 2005...

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_第41、42讲:深入线程

    在本套"VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程"中,第41、42讲主要聚焦于“深入线程”这一主题。线程是多任务处理的核心概念,尤其是在.NET Framework 4中,理解和掌握线程操作对于编写高效、...

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_第05讲_预定义数据类型

    在本节“VS2010轻松学习C# - 从零到深入 - 天轰穿.NET4趣味编程视频教程_第05讲_预定义数据类型”中,天轰穿老师将引领初学者深入理解C#编程语言中的基本元素之一——预定义数据类型。这些数据类型是编程中最常见且...

    21天学会C# 入门教程

    第一篇是C#基础语言篇,主要包括C#概述、变量和表达式、流程控制、C#面向对象基础知识、面向对象的关键技术、.NET内置对象、调试和异常处理;第二篇的主要内容是C#的Windows编程,讲解了Windows编程基础、使用...

Global site tag (gtag.js) - Google Analytics