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.Windows.Forms; namespace Server
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} public List<Socket> serverSockeList = new List<Socket>();
Socket serverSocke = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
bool kg=true;
string recStr = "";
byte[] recByte = new byte[1000];
int bytes = 0;
delegate void invokeInfo(string obj);
private void But_Starlisten_Click(object sender, EventArgs e)
{
try
{
if (string.IsNullOrEmpty(txt_IP.Text) || string.IsNullOrEmpty(txt_port.Text))
return;
IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(txt_IP.Text), int.Parse(txt_port.Text));
serverSocke.Bind(ipe);
serverSocke.Listen(10000);
txt_MessageLog.Text += "监听已经打开,请等待\r\n"; Thread conn = new Thread(new ParameterizedThreadStart(GetALLClientConn));
conn.IsBackground = true;
conn.Start(serverSocke);
}
catch (Exception ex)
{
txt_MessageLog.Text += "服务异常\r\n";
}
} /// <summary>
/// 关闭所有的Socket协议和线程
/// </summary>
public void Close()
{
try
{
kg = false;
foreach (var item in serverSockeList)
{
if (item.Connected)
item.Shutdown(SocketShutdown.Both);
if (item != null)
item.Close();
}
if (serverSocke.Connected)
serverSocke.Shutdown(SocketShutdown.Both);
if (serverSocke != null)
serverSocke.Close();
}
catch {
txt_MessageLog.Text += "服务器连接关闭\r\n";
}
} /// <summary>
/// 获取所有客户端连接
/// </summary>
/// <param name="obj">客户端Socket对象</param>
public void GetALLClientConn(object obj)
{
Socket serverSocke = obj as Socket;
try
{
while (kg)
{
Socket newSocket = serverSocke.Accept();
serverSockeList.Add(newSocket);
txt_MessageLog.Invoke(new invokeInfo(Output), newSocket.RemoteEndPoint + "连接已经建立");
Thread t = new Thread(new ParameterizedThreadStart(GetInfo));
t.IsBackground = true;
t.Start(newSocket);
}
}
catch {
txt_MessageLog.Invoke(new invokeInfo(Output), "服务器异常"); }
} /// <summary>
/// 获取该Socket对象的信息
/// </summary>
/// <param name="newSocket">Socket对象</param>
public void GetInfo(object obj)
{
Socket newSocket = obj as Socket;
try
{
while (kg)
{ bytes = newSocket.Receive(recByte, recByte.Length, SocketFlags.None); if (bytes <= 0)
{
txt_MessageLog.Invoke(new invokeInfo(Output), newSocket.RemoteEndPoint + "连接已断开");
serverSockeList.Remove(newSocket);
if (newSocket.Connected)
newSocket.Shutdown(SocketShutdown.Both);
newSocket.Disconnect(false);
newSocket.Close();
break;
}
recStr = Encoding.UTF8.GetString(recByte, 0, bytes);
txt_MessageLog.Invoke(new invokeInfo(Output), recStr);
byte[] sendBytes = Encoding.UTF8.GetBytes(recStr);
foreach (var item in serverSockeList)
{
if (item != newSocket)
item.Send(sendBytes);
}
}
}
catch (Exception ex)
{
txt_MessageLog.Invoke(new invokeInfo(Output), newSocket.RemoteEndPoint + "的信息接收异常");
}
} public void Output(string info)
{
txt_MessageLog.Text += info + "\r\n";
} //发送信息
private void But_Send_Click(object sender, EventArgs e)
{
try
{
if (string.IsNullOrEmpty(txt_Send.Text))
return;
string sendStr = txt_Send.Text;
txt_Send.Text = "";
txt_MessageLog.Text += "服务端信息:" + sendStr + "\r\n";
byte[] sendBytes = Encoding.UTF8.GetBytes("服务端信息:" + sendStr);
Socket error = null;
foreach (var item in serverSockeList)
{
if (item.Poll(-1,SelectMode.SelectWrite))
item.Send(sendBytes);
else
error = item;
}
if (error != null)
serverSockeList.Remove(error);
}
catch (Exception ex)
{
txt_MessageLog.Text += "服务端发送信息异常\r\n";
}
} private void But_endlisten_Click(object sender, EventArgs e)
{
Close();
} private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Close();
}
}
}
服务器端界面:
aaarticlea/png;base64,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" alt="" />
------------------------------------------------------------------------------------------
客户端代码:
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.Windows.Forms;
using System.Threading; namespace Client
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} public Socket clientSocket;
bool kg = true;
delegate void invokeInfo(string obj);
string recStr = "";
byte[] recBytes = new byte[4096];
int bytes = 0;
public void Output(string info)
{
txt_MessageLog.Text += info + "\r\n";
} private void But_Send_Click(object sender, EventArgs e)
{
try
{
if (string.IsNullOrEmpty(txt_Send.Text))
return;
string sendStr = txt_Send.Text;
txt_Send.Text = "";
txt_MessageLog.Text += "我:" + sendStr + "\r\n";
byte[] sendBytes = Encoding.UTF8.GetBytes(clientSocket.RemoteEndPoint + ":" + sendStr);
int i= clientSocket.Send(sendBytes);
}
catch (Exception ex)
{
txt_MessageLog.Text += "信息发送异常\r\n";
}
} private void But_Starlisten_Click(object sender, EventArgs e)
{
try
{ clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
if (string.IsNullOrEmpty(txt_IP.Text) || string.IsNullOrEmpty(txt_port.Text))
return;
IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(txt_IP.Text), int.Parse(txt_port.Text));
clientSocket.Connect(ipe);
txt_MessageLog.Text += "连接成功\r\n";
groupBox1.Text += txt_IP.Text;
Thread t = new Thread(new ParameterizedThreadStart(GetInfo));
t.IsBackground = true;
t.Start(clientSocket); }
catch (Exception ex)
{
txt_MessageLog.Text += "服务器连接异常\r\n";
}
} private void But_endlisten_Click(object sender, EventArgs e)
{
Close();
} private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Close();
} /// <summary>
/// 接收服务端信息
/// </summary>
public void GetInfo(object o)
{
Socket clientSocket = o as Socket;
try
{
while (kg)
{
bytes = clientSocket.Receive(recBytes, recBytes.Length, SocketFlags.None);
if (bytes <= 0)
{
txt_MessageLog.Invoke(new invokeInfo(Output), "服务器连接已经关闭");
if (clientSocket.Connected)
clientSocket.Shutdown(SocketShutdown.Both);
clientSocket.Disconnect(false);
clientSocket.Close();
break;
}
recStr = Encoding.UTF8.GetString(recBytes, 0, bytes);
txt_MessageLog.Invoke(new invokeInfo(Output), recStr);
}
}
catch (Exception ex)
{
txt_MessageLog.Invoke(new invokeInfo(Output), "服务器的信息接收异常,原因:" + ex.Message+"\r\n");
}
} /// <summary>
/// 关闭Socket
/// </summary>
public void Close()
{
try
{
kg = false;
if (clientSocket.Connected)
clientSocket.Shutdown(SocketShutdown.Both);
clientSocket.Close();
}
catch { }
} }
}
客户端界面:
aaarticlea/png;base64,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" alt="" />
客户端代码:
Socket协议通讯的更多相关文章
- [dotnet core]使用Peach简化Socket网络通讯协议开发
Peach是基于DotNetty的Socket网络通讯帮助类库,可以帮助开发者简化使用DotNetty,关于DotNetty可参考我之前的这篇文章. Peach内置实现了一个基于文本协议的Comman ...
- Socket网络通讯开发总结之:Java 与 C进行Socket通讯 + [备忘] Java和C之间的通讯
Socket网络通讯开发总结之:Java 与 C进行Socket通讯 http://blog.sina.com.cn/s/blog_55934df80100i55l.html (2010-04-08 ...
- 第五十三节,socket模块介绍,socket单线程通讯
socket单线程通讯,只能单线程通讯,不能并发 socket是基于(TCP.UDP.IP)的通讯.也叫做套接字 通讯过程由服务端的socket处理信息发送,由客户端的socket处理信息接收. so ...
- Socket协议
Socket协议的形象描述 socket的英文原义是"孔"或"插座".在这里作为4BDS UNIX的进程通信机制,取后一种意思.socket非常类似于电话插座. ...
- Loadrunner 中socket协议RecvBuffer接收到数据长度为空
socket通讯,有两种方式,一种是建立长连接(TCP),建立后,不停的发送,接收.另外一种是建立短连接(UDP),建立连接,发送报文,接收响应,关闭连接.两种方式 server的开销不同. 今天出现 ...
- TCP UDP Socket 即时通讯 API 示例 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- TCP协议通讯工作原理
TCP协议通讯工作原理 一.TCP三次握手 传输控制协议(Transport Control Protocol)是一种面向连接的,可靠的传输层协议.面向连接是指一次正常的TCP传输需要通过在TCP ...
- loadrunner socket协议问题归纳(6)
首先让我们先看一下loadrunner- winsock 函数 一览表: lrs_accept_connection 接受侦听套接字连接 lrs_close_socket 关闭打开的套接字 ...
- loadrunner socket协议问题归纳(3)
摘要:通过实例讲解loadrunner中的socket协议性能测试的一种测试方法,如何不依赖loadrunner既定规则,自行控制收发数据包 关键词:Loadrunner,socket,自行控制,收发 ...
随机推荐
- centos 搭建ntp
str=$(printf "%-25s" "*") echo -e "${str// /*}" echo -e "*\t\t\t* ...
- 7.添加OpenStack计算服务
添加计算服务 安装和配置控制器节点 创建数据库 mysql -uroot -ptoyo123 CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* ...
- 关于JAVA SESSION的小测试
手生就要多练啊... package com.jeelearning.servlet; import java.io.IOException; import java.io.PrintWriter; ...
- 牛客小白月赛3 I 排名【结构体排序/较复杂/细节】
链接:https://www.nowcoder.com/acm/contest/87/I 来源:牛客网 题目描述 Cwbc和XHRlyb都参加了SDOI2018,他们特别关心自己的排名. 我们定义每一 ...
- TCC分布式事务的实现原理(转载 石杉的架构笔记)
拜托,面试请不要再问我TCC分布式事务的实现原理![石杉的架构笔记] 原创: 中华石杉 目录 一.写在前面 二.业务场景介绍 三.进一步思考 四.落地实现TCC分布式事务 (1)TCC实现阶段一:Tr ...
- [POJ 1935] Journey
Link: POJ1935 传送门 Solution: 一道吓唬人的水题 注意这是一棵树,两点间仅有唯一的路径! 于是每个“关键点”和起点只有一条路径,想去起点另一棵子树上的节点必须要回到起点 如果必 ...
- [COCI2017-2018 Contest5] Birokracija
题目描述 Mirko has become CEO of a huge corporation. This corporation consists of N people, labeled fro ...
- POJ 3713 Transferring Sylla (三连通图)
[题目链接] http://poj.org/problem?id=3713 [题目大意] 给出一个图判断是不是三连通图,三连通图的意思是对于图中任意两点, 至少有三条路是可以相互连通的. [题解] 我 ...
- SQL常用函数之五 str()
原文:SQL常用函数之五 str() 使用str函数 :STR 函数由数字数据转换来的字符数据. 语法 STR ( float_expression [ , ...
- Asp.net+EF
EFRepositoryBase using System; using System.Collections.Generic; using System.Data; using System.Dat ...