`
xqf222
  • 浏览: 128863 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

UDP聊天代码监听服务器端代码

 
阅读更多

UDP聊天代码监听服务器端代码

添加引用

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;

using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;

/// <summary>
/// udp连接系统定义的必需的设计器变量
/// </summary>
public UdpClient udpClient;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.Label label3;
public Thread UdpThread;
public const int listenPort = 12000;

按钮事件(监听消息)

private void button2_Click(object sender, System.EventArgs e)
{

if (udpClient!=null)
{
UdpThread.Abort();
Thread.Sleep(TimeSpan.FromMilliseconds(500));
udpClient.Close();
}
try
{ 
udpClient=new UdpClient(int.Parse(textBox2.Text));
UdpThread=new Thread(new ThreadStart(UdpReciveThread));
UdpThread.Start();

}
catch(Exception y)
{
MessageBox.Show(this,y.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}

}

//接收数据线程
public void UdpReciveThread()
{

bool done = false;



IPEndPoint remoteHost=new IPEndPoint(IPAddress.Any,listenPort);

this.statusBar1.Text="正在启动监听...";
while(udpClient!=null && Thread.CurrentThread.ThreadState.Equals(ThreadState.Running))
{
try
{
this.statusBar1.Text="等待连接...";
byte[] buf=udpClient.Receive(ref remoteHost);
string bufs=Encoding.UTF8.GetString(buf);


int ListCount=0;
if(listView1.Items.Count==0)
{
listView1.Items.Add(DateTime.Now.ToString());
listView1.Items[0].SubItems.Add(remoteHost.Address.ToString());
listView1.Items[0].SubItems.Add(bufs);
}
else
{
ListCount=listView1.Items.Count;
listView1.Items.Add(DateTime.Now.ToString());
listView1.Items[ListCount].SubItems.Add(remoteHost.Address.ToString());
listView1.Items[ListCount].SubItems.Add(bufs);

}
this.statusBar1.Text="数据报长度:"+bufs.Length;


}
catch(Exception y)
{
this.statusBar1.Text="发生错误:"+y.Message+" "+y.Source;

}

}
this.statusBar1.Text="监听结束...";
}

分享到:
评论

相关推荐

    linuxUDP下实现客户端与服务器端聊天模式

    实现这个聊天模式,首先需要创建一个服务器端程序,它会监听特定的UDP端口,等待客户端的数据。在Linux下,这通常涉及到`socket()`函数创建套接字,`bind()`函数绑定端口,然后`recvfrom()`用于接收来自客户端的数据...

    linux下基于UDP聊天代码

    在"udpsocket"文件中,可能包含了服务器端和客户端的源代码示例,初学者可以通过阅读和运行这些代码来更好地理解UDP聊天程序的工作原理。同时,理解网络编程的基本概念,如套接字API、网络字节序和端口管理,对于...

    UDP聊天代码(C语言)

    在本项目中,我们看到的是一个使用C语言编写的UDP聊天程序,它包括服务器端和客户端两部分。这个程序是通过Windows Socket API(简称WINSOCK)来实现的,这是一个用于网络编程的接口,允许开发者访问操作系统底层的...

    UDP聊天室客户端

    6. **消息广播**:聊天室通常采用广播方式,客户端向服务器发送的消息会被广播到所有在线用户,这需要服务器端进行相应的处理。 在【曾柯伟_最终板2.0】这个压缩包中,很可能包含了源代码和相关的资源文件,如...

    UDP程序代码

    这是一个基于UDP的服务器端程序,它会监听特定的端口,等待客户端的连接和数据发送。在Java中,我们通常使用`java.net.DatagramSocket`类来创建和管理UDP套接字。服务器端程序通常包含以下步骤: 1. **创建...

    基于UDP协议的聊天系统

    在创建UDP聊天系统时,我们需要使用VB的Socket控件来处理网络通信。Socket控件允许我们创建服务器端和客户端,分别接收和发送UDP数据报。在服务器端,我们需要设定一个端口号来监听来自客户端的消息,并使用Receive...

    UDP.rar_UDP阻塞服务器_congestion_udp 聊天_udp阻塞

    - 服务器端监听特定端口,接收来自客户端的消息,并广播给其他所有客户端。 - 客户端连接到服务器,发送消息并接收其他客户端的消息。 - 可能还包括错误检测和处理,比如检查接收到的数据是否完整。 5. **文件...

    C# 基于UDP即时聊天程序源代码

    在这个聊天程序中,服务器端会创建一个监听Socket,等待客户端的连接请求;客户端则创建Socket与服务器建立连接,并通过Send和Receive方法进行数据交互。 5. 多线程编程:为了处理多个并发连接,服务器端可能采用了...

    udp.rar_UDP_udp 聊天_udp 聊天 java

    在“基于UDP实现有客户端和服务器端的网络聊天室”项目中,我们将学习如何使用Java编程语言来创建一个简单的UDP聊天系统。这个系统包含两个主要部分:服务器端和客户端。服务器端负责接收来自多个客户端的消息,并...

    聊天室服务器端

    【聊天室服务器端】是基于网络通信技术实现的模拟QQ聊天功能的服务程序,它主要的任务是处理客户端的连接请求,管理用户会话,并且与MySQL数据库进行数据交互,以存储和检索聊天记录、用户信息等关键数据。...

    基于UDP的聊天程序

    通过查看和分析这两个文件的代码,可以深入理解UDP聊天程序的实现细节。 总结来说,基于UDP的聊天程序利用了UDP协议的高效性,简化了连接过程,适用于实时性要求高、对数据丢失容忍度较高的场景,如在线游戏、视频...

    聊天室 linux c udp

    4. **服务器端实现**:服务器端程序负责处理上线、下线提醒,以及群广播消息。当收到一个客户端的请求时,服务器不仅会回应该客户端,还会将消息广播给所有在线的客户端,实现群体交互。 5. **客户端实现**:客户端...

    基于vb的UDP聊天程序

    【基于VB的UDP聊天程序】是一个使用Visual Basic(VB)编程语言实现的网络通信应用,主要利用了用户数据报协议(UDP)进行数据传输。UDP是传输层的一种无连接协议,相比TCP,它不保证数据的可靠传输,但具有更高的...

    基于局域网UDP聊天程序

    一个简单的UDP聊天程序通常包含两个部分:服务器端和客户端。服务器端负责监听特定端口,接收并处理客户端发送的消息,同时可以广播消息给所有连接的客户端。客户端则向服务器发送消息,并接收服务器返回的消息。 ...

    UDP.rar_udp聊天

    - 编写代码:分别编写服务器端和客户端的代码,实现数据的发送和接收。 - 测试运行:运行服务器端程序,启动监听;然后运行客户端程序,发送消息,查看服务器是否能正确接收并回显。 6. 性能优化: - 考虑到UDP...

    TCP与UDP客户服务端实现大小写及SOCKET编程实现聊天程序

    服务器端使用ServerSocket来监听客户端的连接请求,而客户端使用Socket来连接服务器端。 在服务器端,使用BufferedReader和DataOutputStream来读取客户端的输入数据,并将其转换为大写字母,然后将结果返回给客户端...

    用vc++实现的udp聊天程序

    文件名"UDP聊天程序"可能包含了源代码文件,包括服务器端和客户端的实现。源代码中应该有以下关键部分: 1. Winsock初始化和清理。 2. 客户端和服务器端`SOCKET`对象的创建和绑定。 3. 线程处理数据接收和发送。 4....

    计算机网络课程设计(编写UDP客户/服务器程序)

    本设计实现了基于 UDP 协议的客户端和服务器端的一个简单聊天程序设计。下面是该设计的详细知识点说明: 什幺是 UDP 协议? UDP(User Datagram Protocol)是基于 Internet 协议簇的其中一个传输层协议。它提供了...

    WSAAsyncSelect实现简单聊天工具——包含客户端和服务器端

    本项目旨在通过`WSAAsyncSelect`来实现一个简单的聊天工具,包括客户端和服务器端,让我们深入探讨这个话题。 ### WSAAsyncSelect简介 `WSAAsyncSelect`是Windows Socket API提供的一个函数,允许应用程序注册一个...

    iphone UDP 聊天例子

    在提供的`Chat`文件中,可能会包含实现这些功能的源代码,包括服务器端和客户端的逻辑,以及可能的用户界面组件。通过阅读和理解这些代码,开发者可以学习如何在实际项目中应用UDP通信技术。 总结来说,"iPhone UDP...

Global site tag (gtag.js) - Google Analytics