翻译一篇简单的文章学习下基础,此文针对我等对socket只听说未尝试阶段的水平。
How to C# Socket programming
C#通过他的命名空间像System.Net和System.Net.Sockets简化网络编程。套接字是指运行在同一个网络中的两个程序之间(服务端程序和客户端程序)进行来回通信(双向的)线路的终端节点。在C#里要用套接字应用通信我们需要有两个应用程序。一个服务端程序(server)和一个客户端程序(client)。
C#服务端套接字程序:C#服务端套接字程序运行在一台有绑定端口号并监听客户端请求的电脑上。
C#客户端套接字程序:C#客户端套接字程序必须得知道运行服务端套接字程序电脑的ip地址(或主机名)和指定监听客户端请求
的端口号。
一旦服务端和客户端的连接建立,他们便可以通过他们的套接字进行通信(读和写)。
在C#里用来套接字编程的通信协议有两种类型,他们分别是TCP/IP(传输控制协议/网际协议)通信,UDP/IP(用户数据报文协议/网际协议)通信。
在接下来的部分我们将在服务端套接字程序和客户端套接字程序之间使用tcp/ip通信协议进行通信。
以上图片展示了服务端和客户端进行通信的界面。
C#服务端套接字程序:服务端套接字程序通过C#控制台程序运行。这里的服务端监听着客户端的请求,并且当C#服务端获得客户端套接字的请求时,服务端向客户端发出一个响应。点击下面的链接查看服务端套接字程序的详细信息。
C#客户端套接字程序:C#客户端套接字程序是一个窗体程序。当客户端程序执行时,他将建立到服务端程序的链接并向服务端发出请求,同时他也接受来自服务端的响应。点击下面的链接查看客户端套接字编程的详细信息。
如何运行该程序?
这个C#套接字程序有两部分组成。
1、服务端套接字程序
2、客户端套接字程序
当你完成编码并生成服务端和客户端程序后,首先你必须从命令提示符中启动C#服务套接字程序,然后在你的服务程序正在运行的地方也就是DOS窗口里你将获得一个服务已启动的消息。
下一步就是在同一个网络里的同一台台电脑或其他的电脑上启动客户端套接字程序。当你启动客户端套接字程序时,他会建立到服务端的链接并在客户端窗口里显示客户端已启动的消息。同时你会在服务端的窗口里看到,已经接受来自客户端的链接的消息。
现在你的服务端套接字程序和客户端套接字程序已经建立连接并可以通信了。如果你想使服务端和客户端再次进行通信,点击客户端程序的按钮,然后你会看到新的消息显示在服务端和客户端的程序里。