社区
C#
帖子详情
socket同步信息接受问题
w21fanfan
2011-08-07 05:25:58
我想用C# socket写一个局域网的聊天工具,可是为什么每次会话只有一次就结束了,发送第二次还是第一次会话的内容,请问这是怎么回事,我对这个还没理解的很透彻,请回答的详细一点 谢谢了!
...全文
106
8
打赏
收藏
socket同步信息接受问题
我想用C# socket写一个局域网的聊天工具,可是为什么每次会话只有一次就结束了,发送第二次还是第一次会话的内容,请问这是怎么回事,我对这个还没理解的很透彻,请回答的详细一点 谢谢了!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
linphantom
2011-08-21
打赏
举报
回复
贴你写的代码出来喂!!!
hui_play
2011-08-21
打赏
举报
回复
贴代码,肯定是代码有问题。
FeelUps
2011-08-21
打赏
举报
回复
写个循环,你每次接收,发送只是一次,用线程监听,如果有数据流传入,就自动接收或发送。
给你个例子。不明白的再问,分拿来哈!
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
TextBox.CheckForIllegalCrossThreadCalls = false;//关闭跨线程修改控件检查
}
Socket sokWatch = null;//负责监听 客户端段 连接请求的 套接字(女生宿舍的大妈)
Thread threadWatch = null;//负责 调用套接字, 执行 监听请求的线程
//开启监听 按钮
private void btnStartListen_Click(object sender, EventArgs e)
{
//实例化 套接字 (ip4寻址协议,流式传输,TCP协议)
sokWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//创建 ip对象
IPAddress address = IPAddress.Parse(txtIP.Text.Trim());
//创建网络节点对象 包含 ip和port
IPEndPoint endpoint = new IPEndPoint(address, int.Parse(txtPort.Text.Trim()));
//将 监听套接字 绑定到 对应的IP和端口
sokWatch.Bind(endpoint);
//设置 监听队列 长度为10(同时能够处理 10个连接请求)
sokWatch.Listen(10);
threadWatch = new Thread(StartWatch);
threadWatch.IsBackground = true;
threadWatch.Start();
txtShow.AppendText("启动服务器成功......\r\n");
}
Socket sokMsg = null;//负责与该客户端套接字通信的套接字
bool isWatch = true;
#region 1.被线程调用 监听连接端口
/// <summary>
/// 被线程调用 监听连接端口
/// </summary>
void StartWatch()
{
while (isWatch)
{
//监听 客户端 连接请求,但是,它会阻断当前线程,
sokMsg = sokWatch.Accept();//监听到请求,立即创建负责与该客户端套接字通信的套接字
txtShow.AppendText("接收连接成功......\r\n");
}
}
#endregion
//发送消息 到指定的客户端
private void btnSend_Click(object sender, EventArgs e)
{
byte[] arrMsg = System.Text.Encoding.UTF8.GetBytes(txtInput.Text.Trim());
sokMsg.Send(arrMsg);
}
}
jincaomao
2011-08-21
打赏
举报
回复
"是为什么每次会话只有一次就结束了,发送第二次还是第一次会话的内容"
你这里面的会话是什么, 你的描述清楚或者把代码贴出来,别人才能帮你。
w21fanfan
2011-08-21
打赏
举报
回复
[Quote=引用 2 楼 bdmh 的回复:]
自己代码有问题呗,好好查吧
[/Quote]
我要能找出问题就不来问了
chiyan42
2011-08-08
打赏
举报
回复
http://wenku.baidu.com/view/1564bc23bcd126fff7050be9.html
请参考
bdmh
2011-08-08
打赏
举报
回复
自己代码有问题呗,好好查吧
Socket
通信——
同步
通信
引用:https://www.cnblogs.com/zpyplan/p/10493311.html 这几天学了
socket
通信,
socket
氛围
同步
通信和异步通信,今天先谈下
同步
通信,下一篇再来说异步通信,于异步通信而言,
同步
通信相对简单。
SOCKET
原理 一、套接字(
socket
)概念 套接字(
socket
)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网...
Socket
同步
通讯
预测性渲染用于预测用户的行为,并提前渲染可能的场景,以减少用户操作和画面呈现之间的延迟。在多用户共享虚拟环境的场景中,需要采用
同步
机制来确保不同设备或用户之间的虚拟环境保持一致性。时间戳
同步
用于将不同设备的时间进行
同步
,以确保事件的发生顺序一致。TCP 提供可靠的、面向连接的通信,适合对数据完整性要求较高的场景,如文件传输。对于实时性要求较高的数据,如用户位置和姿态,通常使用 UDP 进行传输,以确保低延迟和快速响应。而对于对数据完整性要求较高的数据,如文件传输或大规模数据
同步
,通常使用 TCP。
java
socket
同步
异步通信_
Socket
编程
同步
以及异步通信
套接字简介:套接字最早是Unix的,window是借鉴过来的。TCP/IP协议族提供三种套接字:流式、数据报式、原始套接字。其中原始套接字允许对底层协议直接访问,一般用于检验新协议或者新设备
问题
,很少使用。套接字编程原理:延续文件作用思想,打开-读写-关闭的模式。C/S编程模式如下:服务器端:打开通信通道,告诉本地机器,愿意在该通道上
接受
客户请求——监听,等待客户请求——
接受
请求,创建专用链接进行...
socket
同步
异步
学习
socket
的一些笔记,希望和大家一起讨论 。 一.什么是
socket
所谓
socket
通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 以J2SDK-1.3为例,
Socket
和Server
Socket
类库位于java .net包中。Server
Socket
用于服务器端,
Socket
是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Sock
socket
同步
与异步
socket
同步
与异步 前面说了
socket
建立与传输的函数,但是光这些函数,还不能达到网络通信程序的全部要求。因为accept, send和recv函数默认是
同步
的,也就是阻塞的。send还好说,发不出去就等着,有情可原。但是,accept和recv阻塞,通常会有麻烦,一个服务器程序,在试图
接受
连接(调用accept)之后, 由于没有客户端试图连接,所以服务器
C#
111,128
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章