社区
C#
帖子详情
socket同步信息接受问题
w21fanfan
2011-08-07 05:25:58
我想用C# socket写一个局域网的聊天工具,可是为什么每次会话只有一次就结束了,发送第二次还是第一次会话的内容,请问这是怎么回事,我对这个还没理解的很透彻,请回答的详细一点 谢谢了!
...全文
78
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
编程快速入门
本课程将理本课程将理啊 论结合实践,带你从零开始,系统学习
Socket
编程技术,让
Socket
的学习不再那么零散与难以掌握,同时会提炼出
Socket
网络传输的核心思想与构架,并带你踩坑出坑,增加你的分析与处理
问题
的啊aas...
c#
Socket
同步
发送接收数据
string stringData = "";
Socket
socket
= new
Socket
(AddressFamily.InterNetwork,
Socket
Type.Stream, ProtocolType.Tcp); try { byte[] byteMessage;
c#
socket
数据发送
同步
接收
//接收字符串 buffer = new byte[10000]; lock (streamToServer) { bytesRead = streamToServer.Read(buffer, 0, 10000); if (bytesRead > 0) { string temp = Encoding.UTF8.GetString...
C#中
Socket
通信编程的
同步
实现
本文通过分析和总结C#中
Socket
通信编程的关键技术,按照
同步
实现的方式实现了一个简单的
Socket
聊天程序,目的是通过这个程序来掌握
Socket
编程,为进一步开发Unity3D网络游戏打下一个坚实的基础。
Socket
编程基础...
java
socket
同步
通信_基于Java
Socket
实现
同步
非阻塞通信
来自初学者的分享示例内容:基于Java
Socket
实现的客户端与服务器非阻塞发送接收消息。...思路:从
Socket
中获取的InputStream是阻塞的,可以用DataInputStream对inputStream进行封装,然后用非阻塞的DataInputStr...
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章