问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#中socket通信问题

发布网友 发布时间:2023-11-14 03:36

我来回答

4个回答

热心网友 时间:2024-12-05 11:13

下面的代码只是服务端的,客户端的类似了哈!!
/// <summary>
/// 开启监听线程方法
/// </summary>
/// <param name="port">端口</param>
private void ServerThread(object port)
{
try
{
IPEndPoint point = new IPEndPoint(IPAddress.Any, (int)port);//创建socket端点
Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
serverSocket.Bind(point);
serverSocket.Listen(10);
while (true)
{
try
{
Socket ClientSocket = serverSocket.Accept();
IPEndPoint clientep = (IPEndPoint)ClientSocket.RemoteEndPoint;
new Thread(ClientThread).Start(ClientSocket);
}
catch (Exception ex)
{
serverSocket.Close();
MessageBox.Show(ex.ToString());
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
/// <summary>
/// 接收数据线程方法
/// </summary>
/// <param name="socket">目标客户端</param>
private void ClientThread(object socket)
{
Socket Client = socket as Socket;
try
{
int BufferLength = 1024;
while (true)
{
if ((BufferLength = Client.Available) != 0)
{
byte[] buffer = new byte[BufferLength];
Client.Receive(buffer, 0, BufferLength, SocketFlags.None);// 接收
//doSomeThing......
}
Thread.Sleep(1);
}
}
catch (Exception ex)
{
if (!ex.GetType().Equals(typeof(ObjectDisposedException)))
{
Client.Close();
Client.Dispose();
}
}
}
调用
private void button1_Click(object sender, EventArgs e)
{
new Thread(ServerThread).Start((12345);
button1.Enabled = false;
}

热心网友 时间:2024-12-05 11:14

您好,这样的:
TCP是面向连接的,服务端接收到连接(Socket client = server.Accept() )后,表示连接已经建立好,就可以相互通讯了。服务端用Accept到的client发送消息就行了,客户端不需要再Listen,直接Receive消息就行了(用你建立连接的Socket接收)。客户端发完消息不要关闭掉,用它来接收服务端的消息。追问给点代码实例看看,谢谢了

热心网友 时间:2024-12-05 11:14

你需要一个线程,完成接收操作追问我也觉得,可是线程也刚学会不熟,求个小实例

热心网友 时间:2024-12-05 11:15

要不停的监听追问能具体点么

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
招商银行的美元天添金怎么样? 天添美蒸馒头为什么开裂呢 上海食堂送菜 邮政跨地区取款手续费多? 谁能告诉我邮政储蓄卡跨省取钱要不要收费啊? 自贡市龙盛世纪仿真模型制造有限公司公司简介 学PS真的很难吗 红烧萝卜牛筋 微信怎么转发公众号部分内容 转发公众号部分内容方法 微信公众号内的视频如何下载?一个F12搞定 我想找能在家做的手工活,我是江苏东台的,有的话请告诉我。3 尼罗河汽车坐垫好不好用,质量效果如何好用吗6 我有一个很好的项目,想找投资人,怎么找。26 服装产品的定价依据?12 大家中午都吃什么饭的?1 成为幼儿园教师要具备哪些条件?1 老捷达暖风不热是怎么回事 一个手机如何同时登录两个?2 魔兽地图怎么用啊???98 世界奇人指的是哪个生肖7 我想问一下 尼罗河汽车坐垫怎么样?有没有用过的啊?36 偷码奇人一九成指的是什么生肖?34 尼罗河汽车坐垫怎么样,质量好吗4 您好,请问盗窃七八千元东西一般会被判刑多久?2 broforce需不需要开加速器? 985 211的大学听上课听不懂课是不是要退学了? 求辰洋(洪辰,杨洋)小说4 一个手机登两个怎么登?1 BEELY 的产品 到底怎么样呢 我看价格很实惠!! 如何登录两个 一部手机 ~~~急!!!急!!!深度完美 GhostXP_SP3 纯净选择版 怎么安装???要用虚拟... 火影世界为什么我被杀死之后没有和平保护 求凉宫春日的消失BD版下载7 涉水没熄火是不是就没事16 一个人热爱摄影意味什么27 刘涛欢乐颂乘坐电梯出事是哪一集38 那天迎面走来一个女孩,不知他是神仙还是妖怪,是什么歌里面的歌词?_百 ... (2014?广州二模)一个盒子中装有大量形状大小一样但重量不尽相同的小球... 摄影的意义是什么???415 世界奇人十二生肖里指的是那一生肖18 谁知道盐城东台最好在南沈灶附近有没有手工活,可以带回家做的活...7 月到十五降剑涎ё铀图是什么意思 附近那里有手工活可以拿回家做的322 求 高一 英语 关于介绍西班牙的 简介小短文,大概15句话左...18 为什么到现在还有人吹火影世界影响力比海贼大64 为什么我的火影世界进不去??、4 作为一名幼儿教师应该具备哪些素质9 大家一般中午饭都吃什么?(在家吃的进)3 为什么大学的课听不懂呢?33 omegle怎么用110