社区
C#
帖子详情
socket问题,高手救命啊!!!
feixiang1234
2004-03-16 05:49:30
我在用flash作为客户端,用socket做一个聊天室的服务器端,目前程序已实现在多个客户端的聊天功能,但是当一个客户端突然直接关闭浏览器,则服务器端就会流失数据,客户端也没有返回了,请高手指教,最好有源代码!!!
...全文
95
5
打赏
收藏
socket问题,高手救命啊!!!
我在用flash作为客户端,用socket做一个聊天室的服务器端,目前程序已实现在多个客户端的聊天功能,但是当一个客户端突然直接关闭浏览器,则服务器端就会流失数据,客户端也没有返回了,请高手指教,最好有源代码!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
feixiang1234
2004-03-17
打赏
举报
回复
搞定了,多谢各位!
feixiang1234
2004-03-17
打赏
举报
回复
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Timers;
using System.Collections;
namespace socket_test
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
static private Socket client;
static private ArrayList clients=new ArrayList();
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
start();
}
static public void start()
{
Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
IPEndPoint ipport=new IPEndPoint(IPAddress.Parse(Dns.GetHostByName(Dns.GetHostName()).AddressList[0].ToString()),2001);
socket.Bind(ipport);
socket.Listen(-1);
while(true)
{
client=socket.Accept();
if (client.Connected )
{
clients.Add(client);
Thread tc = new Thread(new ThreadStart(listenclient));
tc.Start();
}
}
}
static public void listenclient()
{
Console.WriteLine("{0}",DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
Socket sock=client;
try
{
while(sock!=null)
{
byte[] data=new byte[1024];
sock.Receive(data);
string message = System.Text.Encoding.UTF8.GetString(data);
Console.WriteLine(message);
byte[] data1=new byte[1024];
data1=System.Text.Encoding.UTF8.GetBytes(message);
for(int i=0;i<clients.Count;i++)
{
((Socket)clients[i]).Send(data1,data1.Length,0);
}
}
}
catch(System.Exception err)
{
Console.WriteLine(err.ToString());
}
}
}
}
这就是源代码,请指教。
turnmissile
2004-03-16
打赏
举报
回复
这个如果不看code,很难给你解决的,你还是先找到具体问题所在吧
tongcheng
2004-03-16
打赏
举报
回复
没做过
up一下
hydnoahark
2004-03-16
打赏
举报
回复
你的服务器的代码是怎样的?
无法为 php_mysqli 指定 mysqli.default_
socket
参数
在使用阿里云镜像的背景下,遇到PHP通过mysqli连接MySQL时无法指定mysqli.default_
socket
参数的
问题
,导致连接失败。尝试修改配置未果,最终通过切换到TCP连接方式解决。在MySQL配置文件中注释掉
socket
配置避免连接错误。
Socket
、TCP、UDP是什么,以及应用场景
本文介绍了
Socket
、TCP、UDP的区别及应用场景。
Socket
是编程接口,对TCP/UDP等协议封装。TCP可靠但麻烦,适合需准确传达信息的场景;UDP快速但可能丢消息,适合允许偶尔丢消息的场景。还分析了网页浏览、在线游戏、DNS查询等场景的协议选择。
Python
Socket
实战心法:Server与Client套接字本质解析
本文基于27个真实网络服务开发经验,深入剖析Python中Server
Socket
与Client
Socket
的本质差异、阻塞模型的必要性、bind地址选择、listen backlog真实含义、accept返回套接字的身份管理,以及recv不确定性导致的粘包/拆包
问题
。强调超时控制、优雅关闭、连接资源清理与抓包调试等生产级实践要点,直击文档未载的关键坑点。
基于
Socket
UDP的结构体数据传输与解析实战
本文详细讲解基于
Socket
的UDP协议下结构体数据的序列化与反序列化技术,涵盖套接字创建、字节序转换、内存对齐、数据校验及跨平台通信等关键环节。通过构建传感器采集系统实例,演示如何实现高效可靠的UDP结构化通信,适用于物联网、游戏开发等高性能应用场景。
基于VB.NET的
Socket
实时屏幕传输系统设计与实现
本文介绍基于VB.NET的
Socket
实时屏幕传输系统,涵盖TCP通信、高效屏幕捕获、图像压缩与多线程处理等关键技术。通过差异化帧传输、动态调控策略和Windows API优化,实现低延迟、高帧率的远程屏幕共享,并提供实战排错与性能调优方案。
C#
111,131
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章