//The Server
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace SocketTest
{
public class Server3
{
public Server3()
{
}
public void run() {
string data;
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);
Socket newsock = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
newsock.Bind(ipep);
newsock.Listen(10);
Console.WriteLine("Waiting for a client...");
Socket client = newsock.Accept();
IPEndPoint newclient = (IPEndPoint)client.RemoteEndPoint;
Console.WriteLine("Connected with {0} at port {1}",
newclient.Address, newclient.Port);
NetworkStream ns = new NetworkStream(client);
StreamReader sr = new StreamReader(ns);
StreamWriter sw = new StreamWriter(ns);
string welcome = "Welcome to my test server";
sw.WriteLine(welcome);
sw.Flush();
while(true) {
try {
data = sr.ReadLine();
} catch (IOException) {
break;
}
Console.WriteLine(data);
sw.WriteLine(data);
sw.Flush();
}
Console.WriteLine("Disconnected from {0}", newclient.Address);
sw.Close();
sr.Close();
ns.Close();
}
}
}
/////////////////////////////////////////////////////////////////////////
//The Client
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace SocketTest
{
public class Client3
{
public Client3()
{
}
public void run() {
string data;
string input;
IPEndPoint ipep = new IPEndPoint(
IPAddress.Parse("127.0.0.1"), 9050);
Socket server = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
try {
server.Connect(ipep);
} catch (SocketException e) {
Console.WriteLine("Unable to connect to server.");
Console.WriteLine(e.ToString());
return;
}
NetworkStream ns = new NetworkStream(server);
StreamReader sr = new StreamReader(ns);
StreamWriter sw = new StreamWriter(ns);
data = sr.ReadLine();
Console.WriteLine(data);
while(true) {
input = Console.ReadLine();
if (input == "exit")
break;
sw.WriteLine(input);
sw.Flush();
data = sr.ReadLine();
Console.WriteLine(data);
}
Console.WriteLine("Disconnecting from server...");
sr.Close();
sw.Close();
ns.Close();
server.Shutdown(SocketShutdown.Both);
server.Close();
}
}
}
分享到:
相关推荐
Socket连接池是网络编程中一个重要的优化手段,它在C#中主要应用于提高网络通信的效率和稳定性。本文将深入探讨“C# Socket连接池”的实现原理、优势以及如何利用线程池技术来构建和优化它。同时,我们也会提及...
C# Socket编程是一种在.NET框架下进行网络通信的重要方式,主要应用于TCP/IP协议栈,它提供了基于套接字的客户端和服务器之间的数据传输。在C#中,Socket类是进行网络编程的基础,允许开发者创建高性能的网络应用...
Socket通信在IT行业中是网络编程的基础,特别是在C#这样的多平台开发环境中,Socket通信库的使用至关重要。本实例,"C# Socket通信稳定完整版类库实例",为我们提供了一个全面且稳定的解决方案,用于实现客户端与...
Socket编程在IT行业中是网络通信的基础,特别是在C#这样的编程语言中,Socket接口提供了与TCP/IP协议栈直接交互的能力。本篇文章将详细讲解C#中Socket客户端和服务端的封装,以及如何利用队列处理和实际应用示例。 ...
标题“c# Socket长连接 短链接 自己封装 通讯”揭示了我们将讨论的主题:如何使用C#实现Socket的长连接和短连接,并自定义通信协议。这里的关键点包括: 1. **Socket基础**:Socket是网络通信中的一个抽象概念,它...
在IT行业中,网络通信是不可或缺的一部分,而C#作为.NET框架的主要编程语言,提供了强大的Socket类库用于实现网络通信。本教程将深入讲解C#中的Socket通信,包括客户端和服务器端的实现,以及如何通过源码学习相关...
在.NET编程环境中,C#语言提供了丰富的库支持网络通信,其中Socket是进行低级网络通信的基本组件。本资源“C# socket封装类和组件含例程全部开源”提供了一套全面且强大的C# Socket封装,旨在简化开发过程,提高代码...
在C#编程中,Socket是网络通信的基础组件,它提供了进程间、网络间通信的低级接口。在本文中,我们将深入探讨如何使用C# Socket类进行文件传输,包括文件的发送和接收,以及在此过程中可能遇到的关键技术和注意事项...
本资源“C# Socket高并发_socket_socket并发_c#socket_C#_socket高并发_源码.zip”显然提供了使用C#语言进行Socket高并发编程的示例代码和实践。以下是对这个主题的详细解释: C# Socket编程: C#是微软开发的一种...
本文将深入探讨"C# socket异步长连接"这一主题,包括其概念、工作原理以及如何在实际开发中实现。 首先,我们要理解什么是Socket。Socket是网络通信中的一个接口,它允许应用程序通过TCP/IP协议与另一台计算机进行...
标题中的"C# Socket Tcp文件传输和文字聊天系统"是指使用C#编程语言,基于Socket和TCP协议实现的一个功能,它涵盖了文件传输和文字聊天两大功能。Socket是网络通信中的一个基本概念,它允许两个网络应用进行数据交换...
在IT行业中,网络通信是不可或缺的一部分,而C#语言提供了强大的Socket编程接口,...在提供的`c#Socket断开重连.cs`源代码文件中,应包含这些功能的具体实现,读者可以通过阅读和分析代码来深入理解相关概念和技术。
在C#中,Socket编程是网络通信的基础,它允许应用程序通过网络进行数据传输。多线程和分包技术则是提高程序并发性和优化数据处理的有效手段。以下是对标题和描述中涉及的知识点的详细解释: 1. **C# Socket**: C#...
在本文中,我们将深入探讨如何使用C#的Socket编程来实现一个简单的聊天应用程序,其中包含服务器和客户端的交互。Socket编程是网络通信的基础,它允许应用程序通过网络进行数据传输。在C#中,System.Net命名空间下的...
在C#编程中,Socket是网络通信的基本组件,它提供了进程间、网络间的数据传输能力。本示例主要探讨如何使用C#的Socket类进行文件的传输,包括文件名和文件内容的同步发送与接收。这里我们将详细讲解实现这一功能的...
本篇将详细介绍基于C#语言的Socket通讯框架,该框架已经封装了客户端(Client)和服务器端(Server)的类库,并提供了实例演示和使用手册,方便开发者快速理解和应用。 首先,让我们了解什么是Socket。Socket是操作...
本示例"**C#SOCKET大文件传输.zip**"聚焦于利用C#的Socket类进行大文件的高效、稳定传输,特别是支持高并发和断点续传功能,这对于开发大规模、高性能的应用程序至关重要。 首先,我们来理解**Socket**。Socket是...
在IT领域,网络通信是应用程序之间进行数据交换的关键技术,而C#中的Socket编程则提供了实现这一功能的基础。本文将详细解析标题和描述中提到的"C# Socket客户端服务端封装,支持多连接处理,Tasks多线程,队列处理...
本文将深入探讨如何使用C#语言通过Socket实现大文件的分包传输,以解决在数据传输过程中可能遇到的网络拥堵、内存限制等问题。 首先,理解Socket的基本概念。Socket是网络通信中的一个端点,它提供了一种在不同...
Socket编程在IT行业中是网络通信的基础,特别是在C#这样的编程语言中,Socket是实现TCP通讯的重要工具。本示例提供了一个完整的C# Socket通讯/TCP通讯的代码demo,旨在帮助开发者理解和应用网络通信技术。 首先,...