socket同步信息接受问题

w21fanfan 2011-08-07 05:25:58
我想用C# socket写一个局域网的聊天工具,可是为什么每次会话只有一次就结束了,发送第二次还是第一次会话的内容,请问这是怎么回事,我对这个还没理解的很透彻,请回答的详细一点 谢谢了!
...全文
78 8 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
自己代码有问题呗,好好查吧

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧