C#socket通信(服务器端与客户端实现简单的通信)

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

知识基础:

1.按网络覆盖范围,计算机网络可分类为广域网、城域网、局域网和Internet。
2.在TCP/IP网络中测试连通性的常用命令是Ping 命令,ipconfig。
3.Internet的核心协议是TCP/IP 。
4.IP地址127.0.0.1是一个测试地址。
5.Internet的前身是Arpanet 。
6.在企业内部网与外部网之间,用来检查网络请求分组是否合法,保护网络资源不被非法使用的技术是防火墙技术。
7.设置防火墙的主要目的是防止局域网外部的非法访问。
8.防火墙:防火墙(Firewall),也称防护墙,它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。

socket通信

①:创建一个用于监听连接的Socket对象;
②:用指定的端口号和服务器的Ip建立一个EndPoint对象;
③:用Socket对象的Bind()方法绑定EndPoint;
④:用Socket对象的Listen()方法开始监听;
⑤:接收到客户端的连接,用Socket对象的Accept()方法创建一个新的用于和客户端进行通信的Socket对象;
⑥:通信结束后一定记得关闭Socket。

服务器端

在这里插入图片描述

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 服务器
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            ///多线程编程中,如果子线程需要使用主线程中创建的对象和控件,最好在主线程中体现进行检查取消
            CheckForIllegalCrossThreadCalls = false;
        }
        /// <summary>
        /// 创建一个字典,用来存储记录服务器与客户端之间的连接(线程问题)
        /// </summary>
        Dictionary<string, Socket> clientList = new Dictionary<string, Socket>();
        /// <summary>
        /// 创建连接
        /// </summary>
        private void button1_Click(object sende
C#中使用Socket通信 文章按照 Socket 的 创建、连接、传输数据、释放资源的过程来写。给出方法、参数的详细信息。 阅读详情

相关推荐

C#socket编程——TCP协议创建服务器端客户端并进行通信

我们做网络通信的时候需要有通信协议,在进行socket编程的时候有两种通信协议TCP、UDP,这次我们就用简单的方式在一台电脑建立TCP协议的服务器端客户端并使之进行通信服务器端客户端进行连接,第一步就行在服务器端创建一个socket,开始监听客户端的连接,然后在客户端创建一个socket,向服务器端发起连接,这样连接建立起来之后就可以进行数据的交换。 由于Visual Studio一...

Lenny的博客 1万+

C#利用Socket实现客户端之间直接通信

C#利用Socket实现客户端之间直接通信 实验功能:  设计程序,分别构建通信的两端:服务器端客户端应用程序,套接字类型为面向连接的Socket,自己构建双方的应答模式,实现双方的数据的发送和接收(S发给C,C发给S)。 服务端程序能响应单个或任意多个客户端连接请求;服务端能向单个客户发送消息,支持群发消息给所有客户端通信的双方具备异常响应功能,包括对方异常退出的处理。如果客户端退出,服务器有响应;反之亦然。 客户端之间直接通信,CC之间直接通信(不是通过S传递)。 --------------------- 本文来自 ybhjx 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/ybhjx/article/details/53706658?utm_source=copy

C#socket建立服务器并进行简单通信

注:本文为本人学习笔记,之前在蛮牛网上发表的。 发现说明甚少,不过都是比较基础的操作,这里就不再说明了。包括两个.cs文件,一个是作为服务器端,一个是客户端服务器端代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.

心之所至的博客 8898

手把手教你从入门到精通C# Socket通信

本文以我开发的TCP/UDP调试助手为例,详细介绍《C#Socket通信从入门到精通》专栏的目录内容,本专栏由一个高级工程师多年实战经验总结,绝对是C# TCP/UDP通信的葵花宝典!带您从入门到精通C#TCP/UDP通信

qq_34059233的博客 7816

使用C#实现socket服务端和客户端通信

2、我们经常讲的套接字也就是Internet Scoket,根据数据传输方式,可以将Internet Scoket分为几种,在使用socket()创建网络连接时,必须告诉它是哪一种数据传输方式,简单来说就是数据传输的控制协议。端口号将通信数据给指定的软件。原文链接:https://blog.csdn.net/guorui_java/article/details/106142762。数据报格式的典型应用就是QQ视频和语音,因为这两者的需求是高效率和低延时,同时小概率的丢失数据不会影响整个数据的传输质量。

chentiebo的博客 4675

C#Socket实现网络通信

服务器端程序的编写步骤: 1:调用Socket()函数编写创建一个用于创建通信的套接字 2:给已经创建的套接字绑定一个端口,这一般通过设置网络套接字地址和调用API 3:调用listen()函数使套接字成为一个监听的套接字 4:调用accept()函数来接收客户端的连接,这样就可以客户端进行连接 5:处理客户端的连接请求 6:终止连接

m0_55062476的博客 2858

C#socket通信服务器端客户端实现简单的聊天室通信

知识基础: 1.按网络覆盖范围,计算机网络可分类为广域网、城域网、局域网和Internet。 2.在TCP/IP网络中测试连通性的常用命令是Ping 命令,ipconfig。 3.Internet的核心协议是TCP/IP 。 4.IP地址127.0.0.1是一个测试地址。 5.Internet的前身是Arpanet 。 6.在企业内部网外部网之间,用来检查网络请求分组是否合法,保护网络资源不被非...

qq_43551373的博客 1639

C#socket编程——UDP协议创建服务器端客户端并进行通信

上次利用代码在一台电脑实现了TCP协议创建服务器端客户端并进行通信,这次我们来用UDP协议进行实现。(建议先了解TCP协议如何实现数据传输) (传送门:https://blog.csdn.net/wang568270833/article/details/89764756) TCP协议和UDP协议有什么区别呢?这里先简单的说一下,TCP协议在收发数据之前有一个连接的功能,就是在服务器端调用A...

Lenny的博客 3941

c#Socket通信实例

一、Socket通信简介 1.按惯例先来介绍下socket Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单位),而这里这个描述符则是用于描述网络访问的。什么意思呢?就是程序员可以通过socket来发送和接收网络上的数据。你也可以理解成是一个API。有了它,你就不用直接去操作网卡了,而是通过这个接口,这样就省了很多复杂的操作。 在C#中,MS为我们提供了 System.Net.Sockets 命名

huang714的专栏 4702

C#Socket客户端服务器端编写

最近在做个多人游戏的demo,试试自己编写服务器端,在写之前,就不介绍Tcp和Udp的区别了,网上资料很多,在看socket编程之前最好先去看看基础的Tcp和Udp的理论内容,再去看Socket编程会好很多。 C#socket编程主要用到一下命名空间: System.Net;//socket的重要基础 System.Net.Sockets;//socket的重要基础 System.T...

qq_31157943的博客 1129

C#socket通信客户端和服务端)

C#socket通信客户端和服务端) 注意:此例子的目的只是为了说明用套接字写程序的大概思路,而不是实际项目中的使用程序。在这个例子中,实际上还有很多问题没有解决,如消息边界问题、端口号是否被占用、消息命令的解析、粘包、断包问题等。。 源码下载地址 TCP/IP:Transmission Control Protocol/Internet Protocol,传输控制协议/因

pplsunny----舞动青春 2305

利用C#Socket实现简单聊天室

因为这段时间在学习Socket,所以就试着写了一个简单的聊天室。主要分为服务器端和多个客户端利用服务器端作数据中转站,实现消息群发。 服务器端有两个类: using System.Collections.Generic; using System.Net; using System.Net.Sockets;namespace 聊天室_Socket_TCP_服务器端 { class Prog

天凉好个秋 7595

C#socket网络编程-一个服务器多个客户端通信

最近要用到网络通讯,就学习了下C#socket编程。 socket网络编程初识 定义 socket非常类似于电话插座。以一个电话网为例:电话的通话双方相当于相互通信的2个程序,电话号码就是ip地址。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求。对方假如在场并空闲,拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于

qq_41499448的博客 5224

C#socket同步通信

源博主链接 关于C#socket通信,分为同步和异步通信,本文简单介绍一下同步通信通信两端分别为客户端(Client)和服务器(Server): (1)Cient: 1:建立一个Socket对像; 2:用socket对像的Connect()方法以上面建立的EndPoint对像做为参数,向服务器发出连接请求; 3:如果连接成功,就用socket对像的Send()方法向服务器发送信息; 4:用socket对像的Receive()方法接受服务器发来的信息; 5:通信结束后一定记得关闭sock.

晚风凉 1315

C#Socket通信(代码篇)

接着上一篇(基础篇)讲起,建议基础不好的同学,先了解一下我的C#Socket通信(基础篇)大牛就直接无视吧!服务器端所需的命名空间这里只写出了异步的通信。这个回调函数处理了客户端异常关闭的问题,用Try Catch语句接下来看客户端客户端简单多了现在你可以整合一下这些代码,就可以完成简单的服务器,客户端通信了。。。但是还有个小问题是粘包和分包的问题,在这个通信中,委托在回调函数里的运用还不理...

weixin_41765385的博客 6942

C#Socket通信

概述 所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序网络协议根进行交互的接口。 套接字是通信的基石,是支持TCP/IP协议的路通信的基本操作单元。可以将套接字看作不同主机间的进程进行双间通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一

秉持Love and share的态度去学习和生活 2674

C Socket 异步通信服务器端多个客户端

C# Socket 异步通信服务器端多个客户端 去发现同类优质开源项目:https://gitcode.com/ 简介 本资源文件提供了一个基于C#Socket异步通信示例,包含一个服务器端和多个客户端通信实现。通过启动服务器端,服务端将持续监听来自客户端的请求。一旦监听到客户端传来的信息,两端便可以开始互发信息。 功能描述 服务器端 监听客户端请求:服务器端持续监听客户端发来的请求。 ...

gitblog_09788的博客 849

c#Socket通信

网络通信的基本知识: 首先应该确定IP地址和端口号,端口号为了确定计算机的哪个进程,比如同一主机是微信还是qq通信 要进行通信首先应该确定一种协议,通常用TCP可靠和UDP不可靠协议,当然带来的速度也会不同,多数游戏中采用TCP协议。 面向连接套接字通信步骤: 服务端: 先申请一个Socket,绑定一个IP地址和端口,开始接听,等待接受连接。 客户端: 申请一个Socket,连...

weixin_30664615的博客 84
上一篇: C#实现简单的音乐播放器
下一篇: C#使用UDP实现服务器与客户端通信
Survivor_lll
博客等级 码龄8年 132粉丝 119原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值