SYSTEM.NET.SOCKET命名空间之SOCKET类。。。

简介: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.
 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 using System.Windows.Forms;
10 using System.Net.Sockets;
11 using System.Net;
12 
13 namespace WindowsFormsApplication5
14 {
15     public partial class Form1 : Form
16     {
17         public Form1()
18         {
19             InitializeComponent();
20         }
21         private static Socket ConnectSocket(string server, int port)
22         {
23             Socket socket = null;
24             IPHostEntry iphostentry = null;
25             iphostentry = Dns.GetHostEntry(server);
26             foreach(IPAddress address in iphostentry.AddressList)
27             {
28                 IPEndPoint IPEPoint = new IPEndPoint(address,port);
29                 Socket newSocket = new Socket(IPEPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
30                 newSocket.Connect(IPEPoint);
31                 if(newSocket.Connected)
32                 {
33                     socket = newSocket;
34                     break;
35                 }
36                 else
37                 {
38                     continue;
39                 }
40             }
41             return socket;
42         }
43 
44         private static string SocketSendReveive(string server, int port)
45         {
46             string request = "GET/HTTP/1.1\n Host: " + server + "\n connetc: close\n";
47             Byte[] btSend = Encoding.ASCII.GetBytes(request);
48             Byte[] btReceived = new Byte[256];
49             Socket socket = ConnectSocket(server,port);
50             if(socket == null)
51                 return ("connect failed.");
52             socket.Send(btSend,btSend.Length,0);
53             int intContent = 0;
54             string strContent = server + " 's content :\n";
55             do
56             {
57                 intContent = socket.Receive(btReceived, btReceived.Length, 0);
58                 strContent += Encoding.ASCII.GetString(btReceived,0,intContent);
59             }
60             while(intContent > 0);
61             return strContent;
62         }
63 
64 
65 
66         private void button1_Click(object sender, EventArgs e)
67         {
68             string server = textBox1.Text;
69             int port = Convert.ToInt32(textBox2.Text);
70             string strContent = SocketSendReveive(server, port);
71             MessageBox.Show(strContent);
72 
73         }
74     }
75 }

目录
相关文章
|
网络协议 Unix Linux
# 2个类轻松构建高效Socket通信库
本文介绍了一种通过两个类`EpollEventHandler`和`IEpollEvent`构建高效Socket通信库的方法。该库支持TCP、UDP和Unix域套接字,采用I/O多路复用技术(如epoll),提升并发处理能力。通过抽象基类和具体事件类的设计,简化了API使用,便于开发者快速上手。文章还提供了服务端与客户端的实例代码,展示其在实际项目中的应用效果。此Socket库适应嵌入式环境,功能定制性强,有助于减少外部依赖并提升维护效率。
414 102
# 2个类轻松构建高效Socket通信库
|
开发框架 .NET C#
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
584 8
|
JSON 安全 API
.net 自定义日志类
在.NET中,创建自定义日志类有助于更好地管理日志信息。示例展示了如何创建、配置和使用日志记录功能,包括写入日志文件、设置日志级别、格式化消息等。注意事项涵盖时间戳、日志级别、JSON序列化、线程安全、日志格式、文件处理及示例使用。请根据需求调整代码。
314 13
|
JSON 数据格式
.net HTTP请求类封装
`HttpRequestHelper` 是一个用于简化 HTTP 请求的辅助类,支持发送 GET 和 POST 请求。它使用 `HttpClient` 发起请求,并通过 `Newtonsoft.Json` 处理 JSON 数据。示例展示了如何使用该类发送请求并处理响应。注意事项包括:简单的错误处理、需安装 `Newtonsoft.Json` 依赖,以及建议重用 `HttpClient` 实例以优化性能。
660 2
|
缓存 程序员
封装一个给 .NET Framework 用的内存缓存帮助类
封装一个给 .NET Framework 用的内存缓存帮助类
302 1
.NET 4.0下实现.NET4.5的Task类相似功能组件
【10月更文挑战第29天】在.NET 4.0 环境下,可以使用 `BackgroundWorker` 类来实现类似于 .NET 4.5 中 `Task` 类的功能。`BackgroundWorker` 允许在后台执行耗时操作,同时不会阻塞用户界面线程,并支持进度报告和取消操作。尽管它有一些局限性,如复杂的事件处理模型和不灵活的任务管理方式,但在某些情况下仍能有效替代 `Task` 类。
298 0
|
API
使用`System.Net.WebClient`类发送HTTP请求来调用阿里云短信API
使用`System.Net.WebClient`类发送HTTP请求来调用阿里云短信API
401 0
|
存储 Go C#
【.NET Core】深入理解IO之File类
【.NET Core】深入理解IO之File类
438 6
|
网络协议 Java
Java中如何使用Socket类检测端口是否存在
Java中如何使用Socket类检测端口是否存在
507 4
|
存储 开发框架 缓存
【.NET Core】你真的了解HttpRuntime类吗
【.NET Core】你真的了解HttpRuntime类吗
281 0