SYSTEM.NET.SOCKET命名空间之TCPCLIENT类和UDPCLIENT类

简介: 我看书上的测试IP都是本地主机,所以没多少问题,但如何真正运用到网络上,可能还要有很多注意的细节。。。 1 using System; 2 using System.Collections.

我看书上的测试IP都是本地主机,所以没多少问题,但如何真正运用到网络上,可能还要有很多注意的细节。。。

 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;
11 using System.Net.Sockets;
12 
13 namespace WindowsFormsApplication1
14 {
15     public partial class Form1 : Form
16     {
17         public Form1()
18         {
19             InitializeComponent();
20         }
21 
22         private void button1_Click(object sender, EventArgs e)
23         {
24             TcpListener tcplistener = null;
25             IPAddress ipaddress = IPAddress.Parse(textBox1.Text);
26             int port = Convert.ToInt32(textBox2.Text);
27             tcplistener = new TcpListener(ipaddress, port);
28             tcplistener.Start();
29             richTextBox1.Text = "等待连接。。。\n";
30             TcpClient tcpclient = null;
31             if (tcplistener.Pending())
32                 tcpclient = tcplistener.AcceptTcpClient();
33             else
34                 tcpclient = new TcpClient(textBox1.Text, port);
35             richTextBox1.Text += "连接成功!!\n";
36             tcpclient.Close();
37             tcplistener.Stop();
38         }
39 
40         private void button2_Click(object sender, EventArgs e)
41         {
42             richTextBox2.Text = string.Empty;
43             UdpClient udpclient = new UdpClient(Convert.ToInt32(textBox4.Text));
44             udpclient.Connect(textBox3.Text, Convert.ToInt32(textBox4.Text));
45             Byte[] sendBytes = Encoding.Default.GetBytes(textBox5.Text);
46             udpclient.Send(sendBytes, sendBytes.Length);
47             IPEndPoint ipendpoint = new IPEndPoint(IPAddress.Any, 0);
48             Byte[] receiveBytes = udpclient.Receive(ref ipendpoint);
49             string returnData = Encoding.Default.GetString(receiveBytes);
50             richTextBox2.Text = "接收到的信息: " + returnData.ToString();
51             richTextBox2.Text += "\n 这条信息来自主机 " + ipendpoint.Address.ToString()
52                 + " 上的 " + ipendpoint.Port.ToString()  +"端口";
53         }
54     }
55 }

目录
相关文章
|
3天前
muduo源码剖析之Socket类
封装了一个sockfd相关的设置。比较简单,已经编写注释。
18 0
|
6月前
|
存储 Cloud Native Linux
C++封装了socket通信类
C++封装了socket通信类
|
8月前
|
IDE API 开发工具
拦截|篡改|伪造.NET类库中不限于public的类和方法
本文除了回顾拦截.NET类库中的方法,实现方法参数的篡改、方法返回结果的伪造,再着重介绍.NET类库中非public类及方法如何拦截。
拦截|篡改|伪造.NET类库中不限于public的类和方法
|
7月前
|
安全 网络协议 Java
Thread类的用法 && 线程安全 && 多线程代码案例 && 文件操作和 IO && 网络原理初识 &&UDP socket
Thread类的用法 && 线程安全 && 多线程代码案例 && 文件操作和 IO && 网络原理初识 &&UDP socket
42 0
|
3天前
|
网络协议 Java
Java中如何使用Socket类检测端口是否存在
Java中如何使用Socket类检测端口是否存在
28 4
|
5月前
|
网络协议 Java
【零基础学Java】—Socket类(五十五)
【零基础学Java】—Socket类(五十五)
【零基础学Java】—Socket类(五十五)
|
7月前
|
缓存 移动开发 网络协议
TCP编写服务器,客户端以及遇到的两个问题,Socket,ServerScket 类,flush(),方法。以及多线程解决,及改进的线程池写法,IO多路复用的思想,C10K,C10M的阐述。万字超细
TCP编写服务器,客户端以及遇到的两个问题,Socket,ServerScket 类,flush(),方法。以及多线程解决,及改进的线程池写法,IO多路复用的思想,C10K,C10M的阐述。万字超细
|
11月前
|
C#
.NET Core反射获取带有自定义特性的类,通过依赖注入根据Attribute元数据信息调用对应的方法
.NET Core反射获取带有自定义特性的类,通过依赖注入根据Attribute元数据信息调用对应的方法
127 0
|
11月前
|
编译器
.Net命名空间和程序集
我们都知道using有三个作用:·引入命名空间,创建别名,强制资源清理。这次对using 的“引入命名空间”的作用有了一点小疑问:命名空间和程序集有什么关系?
|
开发框架 JSON 前端开发
【C#】.net core2.1,自定义全局类对API接口和视图页面产生的异常统一处理
在开发一个网站项目时,异常处理和过滤功能是最基础的模块 本篇文章就来讲讲,如何自定义全局异常类来统一处理
210 0

热门文章

最新文章