// Incoming data from the client.
public static string data = null;
public static void StartListening() {
// Data buffer for incoming data.
byte[] bytes = new Byte[1024];
// Establish the local endpoint for the socket.
// Dns.GetHostName returns the name of the
// host running the application.
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000);
// Create a TCP/IP socket.
Socket listener = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp );
// Bind the socket to the local endpoint and
// listen for incoming connections.
try {
listener.Bind(localEndPoint);
listener.Listen(10);
// Start listening for connections.
while (true) {
Console.WriteLine("Waiting for a connection");
// Program is suspended while waiting for an incoming connection.
Socket handler = listener.Accept();
data = null;
// An incoming connection needs to be processed.
while (true) {
data = string.Empty;
bytes = new byte[1024];
int bytesRec = handler.Receive(bytes);
data += Encoding.GetEncoding("GB2312").GetString(bytes,0,bytesRec);
if (data.IndexOf("<EOF>") > -1) {
// Show the data on the console.
Console.WriteLine("Text received : {0}", data);
continue;
}
// Echo the data back to the client.
byte[] msg = Encoding.ASCII.GetBytes(data);
handler.Send(msg);
}
handler.Shutdown(SocketShutdown.Both);
handler.Close();
}
} catch (Exception e) {
Console.WriteLine(e.ToString());
}
Console.WriteLine("\nPress ENTER to continue");
Console.Read();
}
分享到:
相关推荐
服务器端: ```csharp using System.Net; using System.Net.Sockets; public class Server { public static void Main() { var serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ...
本文将深入探讨“C# Socket例子”这一主题,以类似QQ互传信息为例,阐述如何使用C#进行Socket通信,帮助开发者更好地理解和运用这一技术。 Socket,又称为套接字,是网络通信的基础组件,它允许两个网络应用程序...
- 一旦连接建立,服务器端可以通过`Socket.Receive()`和`Socket.Send()`方法接收和发送数据。 - 在处理完客户端请求后,关闭Socket连接,使用`Socket.Shutdown()`和`Socket.Close()`方法。 2. **通讯Client端**:...
在服务器端,我们需要创建一个监听特定端口的Socket实例。以下是一个简单的步骤概述: 1. 创建Socket实例:`Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);...
1. **服务器端**: - 创建一个`Socket`实例,并绑定到指定的IP地址和端口,使用`Listen()`方法等待客户端连接。 - 当有客户端连接时,调用`Accept()`方法获取一个新的Socket用于与客户端通信。 - 接收客户端发送...
**C#服务器端实现** C#提供了`System.Net.Sockets`命名空间来处理Socket编程。创建一个C#服务器,首先需要创建一个`TcpListener`对象,设置监听的IP地址和端口号,然后启动监听。当有客户端连接时,`...
1. **创建 Socket**:与服务器端相同,创建 Socket 对象。 2. **连接到服务器**:使用 `clientSocket.Connect()` 方法连接到服务器的 IP 地址和端口。 3. **发送消息**:向服务器发送一条消息。 4. **接收响应**...
在压缩包中的“Socket例子”可能包含了一些基本的C# Socket编程示例代码,包括客户端和服务器端的实现,你可以通过查看这些代码学习如何在实际项目中应用上述知识点。记得在使用Socket编程时,要确保代码的可读性和...
本示例将深入解析"C# Socket tcp 最简单例子源码",帮助你理解如何在C#中实现TCP(传输控制协议)客户端和服务端的通信。 首先,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它确保数据包按顺序无损...
标签"Socket C#"提示我们关注的是C#环境下的Socket通信,这通常涉及服务器端(服务提供者)和客户端(服务请求者)的应用程序设计。服务器端通常会监听特定端口,等待客户端连接,并处理接收到的请求。客户端则会...
这段资料主要包含了一个使用C#编写的Socket服务器端程序,以及与之配合的前端AS3.0脚本,是学习C#网络通信和AS3.0客户端编程的一个优秀实例。 首先,我们来看C#的Socket服务器端程序。Socket在计算机网络编程中扮演...
本示例主要探讨如何使用C#的Socket类进行文件的传输,具体是从客户端向服务器端发送文件。这个过程涉及到了网络编程的基本原理、Socket通信机制以及文件I/O操作。 首先,Socket是TCP/IP协议族的基础,它为应用程序...
在"SocketServer"这个例子中,我们主要关注的是服务器端的实现。服务器端的核心任务是监听特定的端口,等待客户端的连接请求,并处理来自客户端的数据。以下是实现服务器端的主要步骤: 1. **创建Socket实例**:...
这个“最基本的C# Socket编程小例子”可能会包含一个简单的客户端和服务器端程序,分别实现上述步骤。通过运行这两个程序,初学者可以在本地环境中体验Socket通信的过程。 通过深入学习和实践,开发者可以进一步...
服务器端需要绑定Socket到特定的IP地址和端口号,然后开始监听连接请求。 ```csharp serverSocket.Bind(new IPEndPoint(IPAddress.Any, 1234)); // 1234是自定义端口号 serverSocket.Listen(10); // 监听队列...
尤其在应用广泛使用的C#编程语言中,利用Socket进行网络编程是实现客户端和服务器端通信的关键技术。C# Socket多线程编程实例是一个讲解如何使用C#语言结合多线程技术来实现网络通信的具体例子。 C#(读作“看井”...
### C#基于Socket的C/S...该示例不仅涵盖了基本的服务器端逻辑,还包括了客户端连接管理和数据收发的处理。对于初学者而言,这是一个非常实用且完整的参考案例,有助于理解C/S架构下Socket编程的基本原理和技术要点。
在这个例子中,服务器端监听并处理来自客户端的连接请求,而客户端通过Socket连接到服务器并进行数据交换,这就是一种基础的点对点通信模型。为了实现更复杂的点对点通信,如P2P网络,可能还需要包括发现机制、多点...
1. **服务器端**:创建一个可激活的远程对象,这个对象可以被客户端调用。服务器会监听特定的端口,等待客户端的连接请求,并在连接建立后提供远程服务。 2. **客户端**:连接到服务器,获取远程对象的引用,并调用...
本实例将详细介绍如何使用C#进行数据推送,并提供了一个完整的SOCKET服务器端源码示例。 SOCKET,源自英文单词socket,意为插座,是网络编程中的接口,用于在不同计算机之间建立连接并进行数据传输。在C#中,我们...