//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();
}
}
}
分享到:
相关推荐
C# Socket传输主机硬件配置信息 一、Server ---服务端,引用了xxbtool和datatool,主要功能:接收客户端XML文件与主机配置Model写入数据库。 二、Client ---客户端,引用xxbtool,暂时功能只有:与服务端消息通信、...
c#Socket客户端断线重连! c#Socket客户端断线重连! c#Socket客户端断线重连! c#Socket客户端断线重连!
c# socket设置代理,经测试没有问题,才敢发帖.
C# socket通信(免积分下载),本项目有三个部分:1、客户端(winform);2、服务端(winform);3、socket功能类库模块(其他项目也可以引用),socket类库模块功能齐全,只需调用其中方法即可,复用性较强,代码...
c#socket断开重新连接,以及循环接收数据,c#socket断开重新连接,以及循环接收数据,
.NET C#SOCKET通信DEMO,断开连接事件捕捉,重连功能。 亲测可用
C# Socket 通信,客户端服务器端, 源码,非常适合初学者
C# socket封装类和组件含例程全部开源,可以说全网封装最好的C#类,十分强大,亲测很好,值得参考和学习
C#Socket高并发_socket_socket并发_c#socket_C#_socket高并发_源码.zip
C#socket TCP是面向连接的通信,所以在通信之前,客户端与服务器端必须通过三次握手建立连接,然后在通信完毕,还要通过四次挥手断开连接
C#socket 大文件传输 分段传输 C#DEMO
c# Socket 多线程 分包 发送/接受数据 客户端 分包发送数据,服务端接受并相应, 第一次接触Socket也不知道理解的对不对 有问题的还请见谅
c# socket tcp 通信案例 c# socket tcp 通信案例 c# socket tcp 通信案例
利用C# Socket 实现HTTP WEB服务器 VS2008 + WINDOWS7 调试测试通过
C# Socket服务端向指定的客户端发送消息(包含服务器)
C# Socket实现大文件的分包上传。基本原理:添加客户端缓存,计算上传文件的字节,计算包的数量 ,计算最后一个包的字节。
C# Socket通讯/TCP通讯,完整代码demo
c# socket 传输文件,c# socket 传输文件,c# socket 传输文件
C#Socket文件传输,将文件名和文件保存到一个byte[]中传输,再通过解析获取文件名和文件保存到本地文件夹中
c#socket异步编程及断线重连。并怎样实现循环接受服务器的命令并处理。