资源简介
这是一个用C#写的Socket服务器和客户端,当然Socket服务器和客户端不是主要的(有兴趣的朋友可以参考下),主要的内容是介绍如何通过这种Socket方式发送Object对象。
作者博客 http://luyugao.com
![](http://www.nz998.com/pic/46213.jpg)
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using User;
//object对象是通过user类派生的,这里引用的是User.dll
// 作者博客: http://www.luyugao.com
namespace Client
{
public partial class Client : Form
{
public Client()
{
InitializeComponent();
}
Socket mySocket;
///
/// 接收信息缓冲区大小
///
int packetSize = 1024 * 50;
private void bt_lj_Click(object sender EventArgs e)
{
try
{
if (tb_ip.Text.Trim() != ““ && tb_port.Text.Trim() != ““)
{
IPEndPoint iep;
try
{
iep = new IPEndPoint(
IPAddress.Parse(tb_ip.Text) Convert.ToInt32(tb_port.Text)
);
}
catch (Exception ex) { MessageBox.Show(ex.Message); return; }
mySocket = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp);
mySocket.Connect(iep);
Thread t = new Thread(resMsg);
t.IsBackground = true;
t.Start();
bt_lj.Enabled = false;
bt_sendobject.Enabled = bt_sendStr.Enabled = true;
}
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
}
//object对象是通过user类派生的,这里引用的是User.dll
// 作者博客: http://www.luyugao.com
///
/// 循环接收信息
///
void resMsg()
{
while (true)
{
byte[] by = new byte[packetSize];
int length = -1;
try
{
length = mySocket.Receive(by);
}
catch (SocketException) { break; }
catch (Exception) { break; }
if (length < 2)//消息异常
continue;
string _cmd = getMsgHead(by);
switch (_cmd)
{
case “01“://文本消息
string Msg = Encoding.UTF8.GetString(by 2 length - 2);
showMsg(Msg);
break;
case“02“://对象消息
showMsg(“收到对象、信息如下:“);
byte[] by1=new byte[length-2];
Buffer.BlockCopy(by 2 by1 0 by1.Length);
object _obj = Deserialize(by1);
user _u = _obj as user;
string s = st
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 16384 2013-07-18 17:28 Sendob
文件 34304 2013-07-18 17:28 Sendob
文件 11608 2013-07-18 17:30 Sendob
文件 4096 2013-07-18 17:00 Sendob
文件 8252 2013-07-18 17:28 Sendob
文件 3631 2013-07-18 17:01 Sendob
文件 14119 2013-07-18 17:22 Sendob
文件 5817 2013-07-18 17:22 Sendob
文件 180 2013-07-18 17:22 Sendob
文件 691 2013-07-18 17:30 Sendob
文件 976 2013-07-18 17:22 Sendob
文件 4257 2013-07-18 17:01 Sendob
文件 16384 2013-07-18 17:28 Sendob
文件 34304 2013-07-18 17:28 Sendob
文件 180 2013-07-18 17:01 Sendob
文件 5419 2013-07-18 17:29 Sendob
文件 468 2013-07-18 16:06 Sendob
文件 1344 2013-07-18 16:06 Sendob
文件 2864 2013-07-18 16:06 Sendob
文件 5612 2013-07-18 16:06 Sendob
文件 1093 2013-07-18 16:06 Sendob
文件 249 2013-07-18 16:06 Sendob
文件 14848 2013-07-18 17:21 Sendob
文件 34304 2013-07-18 17:21 Sendob
文件 11608 2013-07-18 17:31 Sendob
文件 4096 2013-07-18 17:00 Sendob
文件 11718 2013-07-18 17:21 Sendob
文件 5261 2013-07-18 17:18 Sendob
文件 5817 2013-07-18 17:18 Sendob
文件 789 2013-07-18 15:20 Sendob
............此处省略57个文件信息
- 上一篇:如鹏网2019 .NET高级开发就业班.rar
- 下一篇:云图等高线图绘制算法源码
相关资源
- C# Socket Server Client 通讯应用 完整的服
- C# Socket Tcp文件传输和文字聊天系统
- 用WPF开发的多人聊天室 语言C#
- C# Socket TCP通信
- unity+Socket+KCP+Protobuf的Unity局域网联机
- NET CORE 下实现WEB SOCKET通信
- 使用Socket发送数据
- SignalR在线聊天(websocket)
- Socket获取扫码枪扫码的数据
- Socket聊天室(客户端与服务端相互通
- socket服务端
- socket通讯实例(入门级)58873
- C#多线程以及Socket通讯
- 大文件Socket 传输 客户端和服务端
- Tcp/ip socket 服务器/客户端
- Sockets通信框架
- C# winform Socket大文件传输
- C# 实现局域网视频监控Socket 编程
- C# 使用 TcpClient,Socket 聊天
- 网页js与本地C#程序 websocket通讯实现打
- 使用WPF+MVVMlight编写的Socket服务器/多客
- winform五子棋联机版
- vb.net 与 c#.net 网络编程之 socket 套接字
- C#高性能大容量SOCKET并发
- 基于.NET/C#平台socket技术开发的一个多
- C# .NET Web API 完整 Demo
- C#超级通信调试工具源码可直接运行
- winform客户端SuperWebSocket通信Demo
- 基于Socket的企业聊天软件源码201267
- SuperSocket(服务端winform+客户端winfor
评论
共有 条评论