·老师们求解!visual c++ 程序开发 范例宝典!实例362!编译正确!运行时出了点小问题!


tuboshulele


 发表于:2016-05-20 17:03:17
楼主  
老师们好!实例362是语音实时通信!编译正确!启动服务器exe时,点击设置端口号,弹出套接字创建失败!请老师们帮忙解答!
点击设置端口号就是监听把老师?运行的时候是插上麦克风说话就能实现这个实例功能么?还需要做啥嘛?
很急!感谢老师们!

下载附件  回复  引用  举报  修改   删除   

 
 讨论区
 ·您看的是哪个版本?  回复于:2016-05-20 18:06:53
1楼  


again


设置端口号失败,可能是因为 端口己经被占用,您可以 尝试换一个端口号再试试。多试几次。

引用   修改   删除   

 
 ·谢谢老师回复!请老师再帮忙下!  回复于:2016-05-20 18:42:11
2楼  


tuboshulele


引自:1楼
设置端口号失败,可能是因为 端口己经被占用,您可以 尝试换一个端口号再试试。多试几次。


回复:
老师。我看的第三版的。服务器打开就有默认的端口号。我发现是程序里写好的 789。我改过很多个未用的端口号。一下午。没试成功。老师能截个您成功运行的图给我看看么?谢谢老师了!10M的局域网!

引用   修改   删除   

 
 ·老师!再次求解!  回复于:2016-05-20 23:33:49
3楼  


tuboshulele


引自:1楼
设置端口号失败,可能是因为 端口己经被占用,您可以 尝试换一个端口号再试试。多试几次。


回复:
老师!打扰了。您能给我说下这个程序exe到底怎么能实现语音通话这个功能呢?我的意思是怎么表现?什么时候插上麦克风?插上后只要调用到录音那里就开始录音了嘛?最后如何播放的呢?我不解。请老师解惑!还有,服务器一端的端口号和客户端的端口号是同一个把?就是客户端某一个空着的端口号把?麻烦老师回答下我!谢谢老师!

引用   修改   删除   

 
 ·老师早!  回复于:2016-05-21 07:26:08
4楼  


tuboshulele


引自:1楼
设置端口号失败,可能是因为 端口己经被占用,您可以 尝试换一个端口号再试试。多试几次。


回复:
回复:
老师早!我想问设置端口号一点。再次点击是不是就会失败。只要等待客户端连接?客户端连接失败嗷。插上麦克风?等服务器播放?老师麻烦您了!请告诉我整个过程!
老师。我现在怀疑我执行exe之后步骤出错。请老师帮忙解答!exe后的过程。老师!真的感谢您了!

引用   修改   删除   

 
 ·主要过程:  回复于:2016-05-21 08:50:52
5楼  


again


引自:4楼
引自:1楼
设置端口号失败,可能是因为 端口己经被占用,您可以 尝试换一个端口号再试试。多试几次。


回复:
回复:
老师早!我想问设置端口号一点。再次点击是不是就会失败。只要等待客户端连接?客户端连接失败嗷。插上麦克风?等服务器播放?老师麻烦您了!请告诉我整个过程!
老师。我现在怀疑我执行exe之后步骤出错。请老师帮忙解答!exe后的过程。老师!真的感谢您了!


回复:

1 启动 Server 点击 “设置端口号”
2 启动客户端 点击 “连接服务器”
3 在弹出的对话框中 输人本机的IP地址 和 上面Server那里设置的端口号。 点击 “登录”
4 点击 “发送数据”

上面和程序的启动过程。 默认端口号。在我本机上启动成功的;
如果上面的过程没有提示错误。就是成功了。
如果 您 更换端口号还是启动不成功,可以试试关闭防火墙,杀毒软件等。这些软件可能会阻止本地的临听端口。




引用   修改   删除   

 
 ·谢谢老师!我在调试!  回复于:2016-05-21 08:55:44
6楼  


tuboshulele


引自:5楼
引自:4楼
引自:1楼
设置端口号失败,可能是因为 端口己经被占用,您可以 尝试换一个端口号再试试。多试几次。


回复:
回复:
老师早!我想问设置端口号一点。再次点击是不是就会失败。只要等待客户端连接?客户端连接失败嗷。插上麦克风?等服务器播放?老师麻烦您了!请告诉我整个过程!
老师。我现在怀疑我执行exe之后步骤出错。请老师帮忙解答!exe后的过程。老师!真的感谢您了!


回复:

1 启动 Server 点击 “设置端口号”
2 启动客户端 点击 “连接服务器”
3 在弹出的对话框中 输人本机的IP地址 和 上面Server那里设置的端口号。 点击 “登录”
4 点击 “发送数据”

上面和程序的启动过程。 默认端口号。在我本机上启动成功的;
如果上面的过程没有提示错误。就是成功了。
如果 您 更换端口号还是启动不成功,可以试试关闭防火墙,杀毒软件等。这些软件可能会阻止本地的临听端口。






回复:
谢谢老师!我再调试下!成功了来回复您!老师!麦克风一直插着就好么。一直在录音了?成功就能播放了?

引用   修改   删除   

 
 ·老师我突然发现  回复于:2016-05-21 08:59:30
7楼  


tuboshulele


引自:5楼
引自:4楼
引自:1楼
设置端口号失败,可能是因为 端口己经被占用,您可以 尝试换一个端口号再试试。多试几次。


回复:
回复:
老师早!我想问设置端口号一点。再次点击是不是就会失败。只要等待客户端连接?客户端连接失败嗷。插上麦克风?等服务器播放?老师麻烦您了!请告诉我整个过程!
老师。我现在怀疑我执行exe之后步骤出错。请老师帮忙解答!exe后的过程。老师!真的感谢您了!


回复:

1 启动 Server 点击 “设置端口号”
2 启动客户端 点击 “连接服务器”
3 在弹出的对话框中 输人本机的IP地址 和 上面Server那里设置的端口号。 点击 “登录”
4 点击 “发送数据”

上面和程序的启动过程。 默认端口号。在我本机上启动成功的;
如果上面的过程没有提示错误。就是成功了。
如果 您 更换端口号还是启动不成功,可以试试关闭防火墙,杀毒软件等。这些软件可能会阻止本地的临听端口。






回复:
老师我突然发现您是在一个机子上启动了服务端和客户端?

引用   修改   删除   

 
 ·程序原理:  回复于:2016-05-21 09:04:16
8楼  


again


不是等服务器播放, 而是客户端向服器传送声音。
服务器接收到声音数据之后播放。

程序原理大概分成三部分:
网络编程,录音,播放。
客户端 灵音之后 把数据通过网络传给 服务器端, 服务端接收到之后 播放。

引用   修改   删除   

 
 ·老师我明白你说的原理。  回复于:2016-05-21 09:09:04
9楼  


tuboshulele


引自:8楼
不是等服务器播放, 而是客户端向服器传送声音。
服务器接收到声音数据之后播放。

程序原理大概分成三部分:
网络编程,录音,播放。
客户端 灵音之后 把数据通过网络传给 服务器端, 服务端接收到之后 播放。


回复:
老师老师我明白你说的原理。客户端点发送数据-插上麦克风播放声音就行了?-然后服务器收到数据就会自动播放了?老师我这个地方不懂.感谢老师!!两个机子上也可以的吧?

引用   修改   删除   

 
 ·两个机器也可以。  回复于:2016-05-21 09:30:26
10楼  


again


引自:9楼
引自:8楼
不是等服务器播放, 而是客户端向服器传送声音。
服务器接收到声音数据之后播放。

程序原理大概分成三部分:
网络编程,录音,播放。
客户端 灵音之后 把数据通过网络传给 服务器端, 服务端接收到之后 播放。


回复:
老师老师我明白你说的原理。客户端点发送数据-插上麦克风播放声音就行了?-然后服务器收到数据就会自动播放了?老师我这个地方不懂.感谢老师!!两个机子上也可以的吧?


回复:理论上是这样。
两个机器上也可以。前提是你两个机器可以通过网络连接上。 如果是两台机器,客户端连接时,输入的就是 server 所在机器的IP和端口号。

引用   修改   删除   

 
 ·谢谢老师!我试试声音能不能捕捉到。  回复于:2016-05-21 09:35:07
11楼  


tuboshulele


引自:10楼
引自:9楼
引自:8楼
不是等服务器播放, 而是客户端向服器传送声音。
服务器接收到声音数据之后播放。

程序原理大概分成三部分:
网络编程,录音,播放。
客户端 灵音之后 把数据通过网络传给 服务器端, 服务端接收到之后 播放。


回复:
老师老师我明白你说的原理。客户端点发送数据-插上麦克风播放声音就行了?-然后服务器收到数据就会自动播放了?老师我这个地方不懂.感谢老师!!两个机子上也可以的吧?


回复:理论上是这样。
两个机器上也可以。前提是你两个机器可以通过网络连接上。 如果是两台机器,客户端连接时,输入的就是 server 所在机器的IP和端口号。



回复:
原来声音是这样捕捉到的么?我试试。谢谢老师!

引用   修改   删除   

 
 ·老师!声音捕捉那里还是不会。  回复于:2016-05-21 09:50:09
12楼  


tuboshulele


引自:10楼
引自:9楼
引自:8楼
不是等服务器播放, 而是客户端向服器传送声音。
服务器接收到声音数据之后播放。

程序原理大概分成三部分:
网络编程,录音,播放。
客户端 灵音之后 把数据通过网络传给 服务器端, 服务端接收到之后 播放。


回复:
老师老师我明白你说的原理。客户端点发送数据-插上麦克风播放声音就行了?-然后服务器收到数据就会自动播放了?老师我这个地方不懂.感谢老师!!两个机子上也可以的吧?


回复:理论上是这样。
两个机器上也可以。前提是你两个机器可以通过网络连接上。 如果是两台机器,客户端连接时,输入的就是 server 所在机器的IP和端口号。



回复:点了发送播放声音 服务器等了一会还是没有声音呢。难道从头就一直播放?

引用   修改   删除   

 
 ·机器不同,可能需要调整代码  回复于:2016-05-21 11:21:46
13楼  


again


机器不同 可能要调整代码,比如我的机品上,客户端和服务器端的代码 是这样的:
client:
//////////////////////////////////////////////////////////////////////////
void CKinescodeDlg::InitAudio()
{
// 波型格式
waveform.wFormatTag = WAVE_FORMAT_PCM; // 采样方式,PCM(脉冲编码调制)
waveform.nChannels = 2; // 双声道
waveform.nSamplesPerSec = 11025; // 采样率11.025KHz
waveform.nAvgBytesPerSec = 11025; // 数据率11.025KB/s
waveform.nBlockAlign = 2; // 最小块单元,wBitsPerSample×nChannels/8
waveform.wBitsPerSample = 8; // 样本大小为8bit
waveform.cbSize = 0;

server:
////////////////////////////////////////////////////////////////////////////
void CUuuuDlg::InitAudio()
{
waveform.wFormatTag = WAVE_FORMAT_PCM; // 采样方式,PCM(脉冲编码调制)
waveform.nChannels = 2; // 双声道
waveform.nSamplesPerSec = 11025; // 采样率11.025KHz
waveform.nAvgBytesPerSec = 11025; // 数据率11.025KB/s
waveform.nBlockAlign = 2; // 最小块单元,wBitsPerSample×nChannels/8
waveform.wBitsPerSample = 8; // 样本大小为8bit
waveform.cbSize = 0;


这两个初始化函数 里面的内容我修改过了。
现在这个工程在我的机器上是好用的。

引用   修改   删除   

 

Copyright©www.mingrisoft.com All Rights Reserved!
吉林省明日科技版权所有并提供技术支持