c语言udp制作聊天软件,做自己的UDP聊天软件

主要控件:WinSock.ocx '第三方控件,只有企业版才有,精简版没有

TextBox 2个

CommandBox 1个

本例中我无法给大家爱展现的点对点通讯效果,因为我把两个地址都填入的是自己的,所以看上去像是跟自己聊天,但是原理和思路都没有错误。

代码如下:

Private Sub Command1_Click()

Winsock1.SendData txtsend.Text

txtsend.Text = ""

txtsend.SetFocus

End Sub

Private Sub Command2_Click()

Winsock1.Close

End

End Sub

Private Sub Form_Load()

Dim my As String

Winsock1.Protocol = sckUDPProtocol

Winsock1.LocalPort = 10

Winsock1.RemotePort = 10

my = Winsock1.LocalIP

Winsock1.RemoteHost = my

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim tmp As String

Winsock1.GetData tmp, vbString

tmp = "对方内容:" + Winsock1.RemoteHostIP + "发言内容-->" +

tmp

txtmess.Text = tmp + Chr$(13) + Chr$(10) + txtmess.Text

End Sub

代码很短,但是确实能够实现点对点之间的通信。为什么选择UDP协议呢,第一是因为简单,第二是TCP我不会啊。TCP的通信请求与连接实在是有点复杂,需要点时间才能搞懂。下面说一下该程序的实现。

该程序是基于UDP通信协议制作,所以实现通信时必须双方都必须同时开通改程序才可。

注意的事件:端口问题。双方开放的通信端口必须一致,两外在设计期间就必须确定对方的IP。这其实是我的设计缺陷,因为不像TCP那样能够随机进行通信连接,所以我做的这个程序只是在设计期间就必须确定对方的通信地址(失败。。。)。或许UDP也可以进行随机通信连接,但是由于本人水平只限于此。不过呢,这个程序会继续升级的所以请期待吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中,你可以通过使用UDP和TCP协议来创建聊天室。 对于UDP聊天室,你可以使用`socket`函数创建一个套接字,然后使用`bind`函数将套接字绑定到特定的IP地址和端口上。之后,你可以使用`sendto`函数向指定的IP地址和端口发送消息,使用`recvfrom`函数接收来自其他客户端的消息。这样,你就可以实现UDP聊天室的双向交流。 对于TCP聊天室,你可以使用`socket`函数创建一个套接字,并使用`bind`函数将套接字绑定到特定的IP地址和端口上。然后,你可以使用`listen`函数监听客户端的连接请求,并使用`accept`函数接受客户端的连接。一旦连接建立,你可以使用`send`函数向客户端发送消息,使用`recv`函数接收来自客户端的消息。这样,你就可以实现TCP聊天室的双向交流。 总结来说,使用UDP或TCP协议,你可以在C语言中实现聊天室。通过创建套接字、绑定IP地址和端口、发送和接收消息,你可以实现双向的在线聊天。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [聊天室系列02:用UDP和TCP编程实现双人聊天、文件传输、多人登录](https://blog.csdn.net/Rocky_monkey/article/details/90477394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值