为什么报考这个职位这个程序运行不了?

我电脑CPU的使用率突然达到100%静止不动,程序运行缓慢这是为什么?_百度知道
我电脑CPU的使用率突然达到100%静止不动,程序运行缓慢这是为什么?
刚机久没使用任何程序第岀现种情况
提问者采纳
WinCPU占用100%原及解决 我使用Windows 操作系统候用着用着系统变慢看 任务管理器 才发现CPU占用达100%事情呢?遇病毒硬件问题系统设置问题本文笔者硬件软件病毒三面讲解系统资源占用率达100% 经现CPU占用100%情况主要问题能发面某些面: CPU占用率高 九种能 1、防杀毒软件造 故障 由于新版 KV 、金山、 瑞星 都加入网页、 插件 、邮件随机监控疑增系统负担处理式:基本没合理处理式尽量使用少监控服务吧或者升级硬件配备 2、驱没经认证造CPU资源占用100% 量测试版驱网泛滥造难发现故障原 处理式:尤其 显卡驱 特别要注意建议使用 微软认证 或由官发布驱并且严格核型号、版本 3、 病毒、木马 造 量蠕虫病毒系统内部迅速复制造CPU占用资源率据高解决办:用靠杀毒软件彻底清理系统内存本硬盘并且打系统设置软件察看异启程序经性更新升级杀毒软件防火墙加强防毒意识掌握确防杀毒知识 4、控制面板— 管理工具 —服务—RISING REALTIME MONITOR SERVICE 点鼠标右键改手 5、始-&运行-&msconfig-&启关闭必要启项重启 6、查看 svchost 进程 svchost . exe Windows XP系统 核进程 svchost.exe 单单现 Window s XP使用 NT 内核 Windows系统 都svchost.exe存般 Windows 2000
svchost.exe进程 数目2 Windows XPsvchost.exe进程数目升<img class="word-replace" src="/api/getdecpic?picenc=0a006c655f及4 7、查看 网络连接 主要网卡 8、查看网络连接 安装Windows XP计算机做服务器候收端口 445 连接请求配内存少量调配 CPU资源些连接提供服务负荷重候CPU占用率能高工作项数目响应能力间存固权衡关系要确定合适 MaxWorkItems 设置提高系统响应能力设置值确服务器响应能力能受影响或者某用户独占太 系统 资源 要解决问题我通修改注册表解决: 注册表编辑器 依展[HKEY_LOCAL_MACHINE&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;lanmanserver ]支右侧窗口 新建 名maxworkitems DWORD值 双击该值打窗口键入列数值并保存退: 计算机<img class="word-replace" src="/api/getdecpic?picenc=0aMB内存键入1024;计算机内存于 512 MB键入256 9、看看Windows XP使用鼠标右键引起CPU占用100% 前久报说资源管理器面使用鼠标右键导致CPU资源100%占用我看看事 征兆: 资源管理器面右键点击目录或文件能现面所列问题: 任何文件拷贝操作间能停止相应 网络连接速度显著性降低 所流输入/输操作例使用Windows Media Player 听音乐能音乐失真: 资源管理器面右键点击文件或目录候快捷 菜单显示 候CPU占用率增加100%关闭快捷菜单候才返水平 解决: :关闭菜单工具提示使用渡效 1、点击始--控制面板 2、控制面板面双击显示 3、显示属性面点击外观标签页 4、外观标签页面点击效 5、效框面清除菜单工具提示使用渡效前面复选框接着点击两确定按钮 二:使用鼠标右键点击文件或目录候先使用鼠标左键选择目标文件或目录再使用鼠标右键弹快捷菜单 CPU占用100%解决办 般情况CPU占<img class="word-replace" src="/api/getdecpic?picenc=0a006c655f0%我电脑总慢候我通做 点点 改解决必问些虾 机器慢候首先我想任务管理器看看底哪程序占较搞比例某程序原谅关闭该程序要CPU没问题;要看看幺程序查进程幺候google或者 baidu 搜结束没用 xp 我结合msconfig启项些用项给关掉<img class="word-replace" src="/api/getdecpic?picenc=0a007a00winpatrol用 些用软件比浏览器占用搞CPU幺要升级该软件或者干脆用别同类软件代替软件系统点兼容我试xp系统给我兼容项右键点该. exe文件 选兼容性 svchost.exe比较痛看某svchost.exe占用CPUaports或者fport检查其应程序路径幺东西掉用svchost.exec:&#92;Windows&#92; system32 (xp)或c:&#92;winnt&#92;system32(2000)疑升级杀毒软件杀毒吧 右击 文件导致100%CPU占用我遇点右键停顿能问题官解释:先点左键选再右键(理解)非官:通桌面点右键-属性-外观-效取消菜单工具提示使用列度效(U)解决某些杀毒软件文件监控所影响 关闭杀毒软件 文件监控;网页插件邮件监控同道理 些驱程序能现现象选择微软认证或者官发布驱装适升级驱记新 CPU降温软件 由于软件运行利用所CPU空闲间进行降温Windows能辨普通CPU占用 降温软件 降温指令 间区别 CPU始终显示100%必担影响系统运行 处理较 word文件 由于word拼写语检查使CPU累要打word工具-选项-拼写语检查拼写检查语勾掉 单击 avi视频 文件CPU占用率高系统要先扫描该文件并检查文件所部并建立索引;解决办:右击保存视频文件文件夹-属性-规-高级掉快速搜索允许索引服务编制该文件夹索引勾 CPU占用100%案例析 1、 dllhost进程造CPU使用率占用100% 特征:服务器CPU消耗应该<img class="word-replace" src="/api/getdecpic?picenc=0a007a%且CPU消耗应该起伏现种问题服务器CPU突直处100%水平且降查看任务管理器发现DLLHOST.EXE消耗所CPU空闲间管理员种情况重新启IIS服务奇怪重新启IIS服务切能段间问题再现 直接原: 或ACCESS数据库读写程损坏微软 MDAC 系统写入损坏ACCESS文件ASP线程处于BLOCK状态结其线程能等待IIS死锁全部CPU间都消耗DLLHOST 解决办: 安装流信息监控拦截系统使用其首席文件检查官IIS健康检查官软件 启用查找死锁模块设置: --wblock=yes 监控目录请指定您主机文件所目录: --wblockdir=d:&#92;test 监控志文件保存位置安装目录log目录文件名:logblock.htm 停止IIS再启首席文件检查官IIS健康检查官再启IIS首席文件检查官IIS健康检查官logblock.htm记录写入ACCESS文件 段间问题例CPU再直处100%水平停止IIS检查logblock.htm所记录十文件注意问题往往计数器类ACCESS文件例:**COUNT. MDB **COUNT.ASP先十文件或所怀疑文件删除收站再启IIS看看问题否再现我相信经仔细查找您肯定找让您操段间文件 找文件删除或载用ACCESS2000修复问题解决 2、 svchost.exe造CPU使用率占用100% win.ini文件[Windows]面run=load=能加载木马程序途径必须仔细留般情况等号面幺都没发现面跟路径与文件名熟悉启文件计算机能木马看清楚木马AOL Trojan木马自身伪装command.exe文件注意能发现真系统启文件 system.ini文件[BOOT]面shell=文件名确文件名应该explorer.exeexplorer.exeshell= explorer.exe 程序名幺面跟着程序木马程序说已经木马 注册表情况复杂通regedit命令打注册表编辑器点击至:HKEY-LOCAL-MACHINE&#92;Software&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run目录查看键值没自熟悉自启文件扩展名EXE切记:木马程序文件像系统自身文件想通伪装蒙混关Acid Battery v1.0木马注册表HKEY-LOCAL-MACHINE&#92;SOFTWARE&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;RunExplorer 键值改Explorer=C:&#92;Windows&#92;expiorer.exe木马程序与真Explorer间i与l差别注册表都隐藏木马程序:HKEY-CURRENT-USER&#92;Software&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run、HKEY-USERS&#92;****&#92;Software&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run目录都能办HKEY-LOCAL-MACHINE&#92;Software&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run找木马该病毒称Code Red II(红色代码2)病毒与早先西英文系统流行红色代码病毒点相反际称VirtualRoot(虚拟目录)病毒该蠕虫病毒利用Microsoft已知溢漏洞通<img class="word-replace" src="/api/getdecpic?picenc=0af端口传播其Web页服务器受染机器由黑客通Http Get请求运行scripts/root.exe获受染机器完全控制权 染台服务器功受染机器文系统该程序休眠2别机器休眠1休眠间该蠕虫程序使机器重新启该蠕虫检查机器月份否10月或者份否2002受染服务器重新启Windows NT系统启NT系统自搜索C盘根目录文件explorer.exe受该网络蠕虫程序染服务器文件explorer.exe该网络蠕虫程序本身该文件8192字节VirtualRoot网络蠕虫程序通该程序执行同VirtualRoot网络蠕虫程序cmd.exe文件Windows NTsystem目录拷贝别目录给黑客入侵敞门修改系统注册表项目通该注册表项目修改该蠕虫程序建立虚拟目录C或者D病毒名由值提该网络蠕虫程序除文件explorer.exe外其余操作基于文件直接内存进行染、传播给捕捉带较难度 程序文件名再整注册表搜索即 我先看看微软描述svchost.exe微软知识库314056svchost.exe描述:svchost.exe 态链接库 (DLL) 运行服务通用主机进程名称 其实svchost.exeWindows XP系统核进程svchost.exe单单现Windows XP使用NT内核Windows系统都svchost.exe存般Windows 2000svchost.exe进程数目2Windows XPsvchost.exe进程数目升<img class="word-replace" src="/api/getdecpic?picenc=0a006c655f及4所看系统进程列表几svchost.exe用幺担 svchost.exe底做幺用呢? 首先我要解点Windows系统进程:独立进程共享进程两种由于Windows系统服务越越节约限系统资源微软系统服务做共享模式svchost.exe间担任角色呢? svchost.exe工作作些服务宿主即由svchost.exe启些服务svchost.exe负责些服务提供启条件其自身并能实现任何服务功能能用户提供任何服务svchost.exe通些系统服务调用态链接库(DLL)式启系统服务 svchost.exe病毒种说任何产呢? svchost.exe作服务宿主启服务所病毒、木马编写者挖空思要利用svchost.exe特性迷惑用户达入侵、破坏计算机目 何才能 辨别 哪些svchost.exe进程哪些 病毒进程 呢? svchost.exe键值HKEY_LOCAL_MACHINE&#92;Software&#92;Microsoft&#92;Windows NT&#92;CurrentVersion&#92;Svchost图1所示图1每键值表示独立svchost.exe组 微软我提供种察看系统运行svchost.exe列表服务Windows XP例:运行输入:cmd命令行模式输入:tasklist /svc系统列图2所示服务列表图2红框包围起区域svchost.exe启服务列表使用Windows 2000系统则前面tasklist /svc命令替换:tlist -s即怀疑计算机能病毒染svchost.exe服务现异通搜索 svchost.exe文件 发现异情况般找:C:&#92;Windows&#92;System32目录svchost.exe程序其目录发现svchost.exe程序能毒 种确认svchost.exe否毒任务管理器察看进程执行路径由于Windows系统自带任务管理器能察看进程路径所要使用第三进程察看工具 面简单介绍svchost.exe进程相关情况总言svchost.exe系统核进程并病毒进程由于svchost.exe进程特殊性所病毒千百计入侵svchost.exe通察看svchost.exe进程执行路径确认否毒 3、 Services.exe造CPU使用率占用100% 症状 基于 Windows 2000 计算机Services.exe
CPU 使用率能间歇性达100 %并且计算机能停止响应(挂起)现问题连接该计算机(文件服务器或域控制器)用户断连接您能需要重新启计算机 Esent.dll 错误处理文件刷新磁盘式则现症状 解决案 Service Pack 信息 要解决问题请获取新 Microsoft Windows 2000 Service Pack关其信息请单击面文章编号查看 Microsoft 知识库相应文章: 260910 何获取新 Windows 2000 Service Pack 修复程序信息 Microsoft 提供受支持修补程序该程序解决本文所介绍问题计算机遇本文提特定问题才应用修补程序修补程序能接受其些测试问题没您造严重影响Microsoft 建议您等待包含修补程序 Windows 2000 Service Pack 要立即解决问题请与Microsoft 产品支持服务联系获取修补程序关Microsoft 产品支持服务电号码支持费用信息完整列表请访问 Microsoft Web 站点: 注意 :特殊情况 Microsoft 支持专业员确定某特定更新程序能够解决您问题免收通情况收取电支持服务费用于特定更新程序解决其支持问题事项收取支持费用 表列修补程序全球版本文件属性(或更新属性)些文件期间按协调通用间 (UTC) 列查看文件信息转换本间要解 UTC 与本间间差请使用控制面板期间工具 区 选项卡 状态 Microsoft 已经确认本文列 Microsoft 产品存问题问题初 Microsoft Windows 2000 Service Pack 4 更 4、软件造CPU使用率占用100% 首先机发述情况直关机幺能由某随系统同登陆软件造通运行输入msconfig打系统实用配置工具进入启选项卡接着依取消疑选项前面钩重新启电脑反复测试直找造故障软件或者通些优化软件优化师达述目另:键盘内按键卡住能造机现述问题 使用电脑途项类问题调任务管理器(WINXP CTRL+ALT+DEL WIN2000 CTRL+SHIFTESC)进入进程选项卡看CPU栏面找占用资源较高程序(其SYSTEM IDLE PROCESS属于值般都高作用告诉前用CPU资源少所值越高越)通搜索功能找进程属于哪软件通升级、关闭、卸载软件或者干脆找同类软件替换问题即解决 5、病毒、木马、间谍软件造CPU使用率占用100% 现CPU占用率100% 故障经病毒木马造比震荡波病毒应该首先更新病毒库电脑进行全机扫描 接着使用反间谍软件Ad—Aware检查否存间谍软件论坛少朋友都遇svchost.exe占用CPU100%往往毒表现 svchost.exe Windows系统服务态链接库(DLL)形式实现其些执行程序指向svchost.exe由调用相应服务态链接库并加相应参数启服务特殊性重要性使更容易些病毒木马宿主 6、 explorer.exe进程造CPU使用率占用100% system.ini文件[BOOT]面shell=文件名确文件名应该explorer.exeexplorer.exeshell= explorer.exe 程序名幺面跟着程序木马程序说已经木马 注册表情况复杂通regedit命令打注册表编辑器点击至:HKEY-LOCAL-MACHINE&#92;Software&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run目录查看键值没自熟悉自启文件扩展名EXE切记:木马程序文件像系统自身文件想通伪装蒙混关Acid Battery v1.0木马注册表HKEY-LOCAL-MACHINE&#92;SOFTWARE&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run Explorer 键值改Explorer=C:&#92;Windows&#92;expiorer.exe木马程序与真Explorer间i与l差别注册表都隐藏木马程序:HKEY-CURRENT-USER&#92;Software&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run、HKEY-USERS&#92;****&#92;Software&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run目录都能办HKEY-LOCAL-MACHINE&#92;Software&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run找木马程序文件名再整注册表搜索即 7、超线程导致CPU使用率占用100% 类故障共同原都使用具超线程功能P4 CPU我查找些资料都没明确原解释据些网友总结超线程似乎网防火墙冲突通卸载网并安装其防火墙解决通BIOS关闭超线程功能解决 8、AVI视频文件造CPU使用率占用100% Windows XP单击较AVI视频文件能现系统假死现象并且造exploere.exe进程使用率100%系统要先扫描该文件并检查文件所部建立索引文件较需要较间并造CPU占用率100%解决:右键单击保存视频文件文件夹选择属性—&规—&高级掉快速搜索允许索引服务编制该文件夹索引前面复选框钩即 9、杀毒软件CPU使用率占用100% 现杀毒软件般都加入网页、邮件、隐私即监空功能疑加系统负担比:玩游戏候非缓慢关闭该杀毒软件解决直接办 10、处理较Word文件CPU使用率高 述问题般造电脑假死些都WORD拼写语检查造要打WORD工具—选项进入拼写语选项卡其键入检查拼写键入检查语两项前面复选框钩掉即 11、网络连接导致CPU使用率占用100% Windows2000/xp作服务器收自端口445连接请求系统配内存少量CPU资源些连接提供服务负荷重现述情况要解决问题通修改注册表解决打注册表找HKEY—LOCAL—MACHNE&#92;SYSTEM&#92;CurrentControlSet&#92;Services&#92;lanmanserver右面新建名&;maxworkitems&;DWORD值.双击该值电脑<img class="word-replace" src="/api/getdecpic?picenc=0a内存设置&;1024&;于512设置256. 些完善驱程序造CPU使用率高 经使用待机功能造系统自关闭硬盘DMA模式仅使系统性能幅度降系统启速度变慢使系统运行些型软件游戏CPU使用率100%产停顿 进程占用CPU 100%能病毒 system Idle Process 进程文件: [system process] or [system process] 进程名称: Windows内存处理系统进程 描 述: Windows页面内存管理进程拥0级优先 介 绍:该进程作单线程运行每处理器并系统处理其线程候派处理器间CPU占用率越表示供配CPU资源越数字越则表示CPU资源紧张 Spoolsv.exe 进程文件: spoolsv or Spoolsv.exe 进程名称: Printer Spooler Service 描 述: Windows打印任务控制程序用打印机绪 介 绍:缓冲(spooler)服务管理缓冲池打印传真作业 Spoolsv.exe→打印任务控制程序般先加载供列表机打印前准备工作 Spoolsv.exe增高能病毒染所致 目前见: Backdoor/Byshell(叫隐形盗、隐形杀手、西门庆病毒) 危害程度: 受影响系统: Windows 2000 Windows XP Windows Server 2003 未受影响系统: Windows 95 Windows 98 Windows Me Windows NT Windows 3.x Macintosh Unix Linux 病毒危害: 1. 病毒文件 2. 插入系统文件 3. 修改系统注册表 4. 黑客远程控制 5. 躲避反病毒软件查杀 简单门木马发作删除自身程序自身程序套入执行程序内(:exe)并与计算机通口(TCP端口138)挂钩监控计算机信息、密码甚至键盘操作作传信息并驱端口等候传进命令由于该木马能判别何者确端口所负责输列表机其驱象致Spoolsv.exe使用异频繁...... Backdoor.Win32.Plutor 破坏:染PE文件门程序 病毒采用VC编写 病毒运行行: 1、病毒文件复制%WINDIR%目录文件名&;Spoolsv.exe&;并该病毒文件运行&;Spoolsv.exe&;文件运行释放文件名&;mscheck.exe&;文件%SYSDIR%目录该文件主要功能每激运行&;Spoolsv.exe&;文件所运行文件染文件病毒文件病毒该文件恢复并其运行 2、修改注册表键值: HKEY_LOCAL_MACHINE&#92;Software&#92;Microsoft&#92;Windows&#92;Currentversion&#92;Run 增加数据项:&;Microsoft Script Checker&; 数据:&;MSCHECK.EXE /START&; 修改该项注册表使&;MSCHECK.EXE&;文件每系统激都运行&;MSCHECK.EXE&;用于运行&;Spoolsv.exe&;文件达病毒自激目 3、创建线程用于染C盘PE文件文件路径包含&;winnt&;、&;Windows&;字符串文件染另外该病毒枚举局域网共享目录并试图些目录文件进行染该病毒染文件比较简单文件前0x16000字节替换病毒文件数据并原0x16000字节数据插?/td&
提问者评价
我已经明白了,非常感谢!
其他类似问题
电脑cpu的相关知识
其他3条回答
先杀毒能机启程序问题看进程哪占100%
我的天啦,1楼楼主讲的太详细了吧.是不是哪里下载的?
加载困难了。用优化类软件逐项优化一下,可下载免费的windows优化王,里面有“快速启动专家”去掉一些应用程序,立马就好。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁我的这个程序为什么不能运行?_百度知道
我的这个程序为什么不能运行?
import static net.mindview.util.Print.*; public class PrintTest { public static void main(String[] args) { print(&Available from now on!&); print(100); print(100L); print(3.14159); } }输入后提示:PrintTest.java:1:软件包 net.mindview.util 不存在import static net.mindview.util.print.*;还有我的另一个程序import static java.lang.System.
class Tank {}public class Assignment {
public static void main(String[] args) {
Tank t1=new Tank();
Tank t2=new Tank();
Tank t3=new Tank();
t1.level=9;
t2.level=47;
t3.level=30;
out.print(&第一轮:&+t1.level+&,&+t2.level);
out.print(&第二轮:&+t1.level+&,&+t2.level);
t1.level=27;
out.print(&第四轮:&+t1.level+&,&+t2.level);
out.print(&&第四轮:&quo肠範惯蝗甙豪轨通憨坤t;+t1.level+&,&+t2.level);
}}中为什么输出时必需打成t1.level,t2.level不然就输出的是乱的,但在程序中可以写成和t1=t2;还有我想知道到下,
class Tank {}算是做了个什么工作,我感觉下面的程序完全没用到,而且下面的可以直接用T1,T2代表加上level有什么意义?我以前是学的C的刚学这个,不太明白,
提问者采纳
第一个的错误已经提示的很清楚了,没那包第二个解释起来很麻烦,JAVA的精华就是面向对象的思想。这个肠範惯蝗甙豪轨通憨坤初学者是要边学习边体会的。我试着解释下哈。JAVA认为万物皆对象(尽管里面还是存在值类型),人,房子,树,地球都是对象。把对象共同的属性和特征提取出来就是类,对象就是类的实例。就接楼上的例子,人有姓名,性别,手,脚(属性)。人能行走,跑动(方法)。人类的一个实例是某一个人,我们头脑中想到某一个人时会出现名字,外貌,这些都是属性。而不可能什么都没有的一个人,没有名字没有样子。这是从思想上,解释的不太清楚。程序上,不可能直接打印对象。
提问者评价
其他类似问题
其他2条回答
先去搞明白 什么是面向对象。c是过程 你这样写 基本是错误的思路。整个程序都是乱的 cla肠範惯蝗甙豪轨通憨坤ss Tank {}
啥都没干 ,能否编译过去都是问题 ,没初始值?
楼上的不知道就不要瞎说第一个。。。不知道楼主到底想导什么包第二个就简单了。。int level 是声明。。用在这里等于是给tank类添加了一个level属性 这是面向对象的基本思想 tank的实例就是对象 而对象都是有属性的
int level的作用就在此了至于输出的时候
由于t1和t2是对象
如果直接输出 当然是乱的
输出的时候要的是他们的属性
就好比打印一个人的资料
我们要打印的是他的姓名 年龄 性别一样
而不是打印“人”这个对象
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
空间积分0 信誉积分100 UID阅读权限10积分19帖子精华可用积分19 专家积分0 在线时间0 小时注册时间最后登录
白手起家, 积分 19, 距离下一级还需 181 积分
帖子主题精华可用积分19 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
我通过NetTerm连到UNIX服务器上,现在想实现udp模式的客户/服务端程序,在本机上模拟。可是不能正常运行,我仔细看过程序,没有发现错误,请高手们帮我看看,不胜感激。
/* 服务端程序大抵如下,省略了一些定义和出错判断 */
sock=socket(AF_INET,SOCK_DGRAM,0);
svr_addr.sin_family=AF_INET; /* struct sockaddr svr_addr */
svr_addr.sin_port=htons(MYPORT); /* 宏定义,MYPORT=5050 */
svr_addr.sin_addr.s_addr=INADDR_ANY;
svrlen=sizeof(svr_addr);
bind(sock,(struct sockaddr *)&svr_addr,svrlen);
clilen=sizeof(struct sockaddr);
sendlen=sendto(sock,&cat&,3,0,(struct sockaddr *)&cli_addr,clilen);
if (senlen==-1)
printf(&sendto error\n&quot;
else printf(&send---\n&quot;
close(sock);
/* 客户端程序大抵如下 */
sock=socket(AF_INET,SOCK_DGRAM,0);
svr_addr.sin_family=AF_INET; /* struct sockaddr svr_addr */
svr_addr.sin_port=htons(MYPORT); /* 宏定义,MYPORT=5050 */
svr_addr.sin_addr.s_addr=inet_addr(SVR_ADDR);
/* 宏定义,SVR_ADDR=&127.0.0.1&*/
svrlen=sizeof(svr_addr);
cli_addr.sin_family=AF_INET;
cli_addr.sin_port=htons(MYPORT);
cli_addr.sin_addr.s_addr=inet_addr(&127.0.0.1&quot;
printf(&----begin-----&quot; /*为了调试*/
recvfrom(sock,buf,MAXBUF,0,(struct sockaddr *)&svr_addr,&svrlen);
printf(&----ok--------&quot;
我的本意是试图让服务端发送字符,客户端接收,可是运行时,服务端显示
send---,表示发送成功,但是客户端仅显示---begin----,表示接收出问题了,只是,问题处在哪里呢?
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
空间积分0 信誉积分100 UID1727984阅读权限90积分9120帖子精华可用积分9120 专家积分0 在线时间0 小时注册时间最后登录
腰缠万贯, 积分 9120, 距离下一级还需 880 积分
帖子主题精华可用积分9120 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
为什么这个udp程序不能正常运行
* 服务端程序大抵如下,省略了一些定义和出错判断 */
sock=socket(AF_INET,SOCK_DGRAM,0);
svr_addr.sin_family=AF_INET; /* struct sockaddr svr_addr */
svr_addr.sin_port=htons(MYPORT); /* 宏定义,MYPORT=5050 */
svr_addr.sin_addr.s_addr=INADDR_ANY????????????????????;
你要发到哪里
找我的人到这里
http://www.loveunix.net/
空间积分0 信誉积分100 UID阅读权限10积分12帖子精华可用积分12 专家积分0 在线时间0 小时注册时间最后登录
白手起家, 积分 12, 距离下一级还需 188 积分
帖子主题精华可用积分12 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
为什么这个udp程序不能正常运行
svr_addr.sin_addr.s_addr=INADDR_ANY;
svr_addr.sin_addr.s_addr=htonl(INADDR_ANY);
空间积分0 信誉积分100 UID1727984阅读权限90积分9120帖子精华可用积分9120 专家积分0 在线时间0 小时注册时间最后登录
腰缠万贯, 积分 9120, 距离下一级还需 880 积分
帖子主题精华可用积分9120 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
为什么这个udp程序不能正常运行
发送的话如果是发到INADDR_ANY那么表示什么也没有发
你应该的指定一个发送地址
找我的人到这里
http://www.loveunix.net/
空间积分0 信誉积分100 UID阅读权限10积分19帖子精华可用积分19 专家积分0 在线时间0 小时注册时间最后登录
白手起家, 积分 19, 距离下一级还需 181 积分
帖子主题精华可用积分19 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
为什么这个udp程序不能正常运行
首先,非常感谢无双和yelleft的解答,我在别的版面贴过,可是没有人回复:)
& & 其次,要非常抱歉地告诉你们,我的帖子中有笔误,就是把本应在服务器端程序中的cli_addr结构放在了客户端。所以要麻烦你们再看看了,真是不好意思。
& & 这样,我的服务器端程序应该发送字节到本机,事实上也实现了,只是客户端不能接收。
& & 另外,服务器端的INADDR_ANY表示用本地机器上的任一可用端口监听。可以不进行任何转换的。
空间积分0 信誉积分119 UID727266阅读权限30积分1121帖子精华可用积分1121 专家积分0 在线时间11 小时注册时间最后登录
家境小康, 积分 1121, 距离下一级还需 879 积分
帖子主题精华可用积分1121 专家积分0 在线时间11 小时注册时间最后登录
论坛徽章:0
为什么这个udp程序不能正常运行
接收端好象没有绑定端口啊
发送端没有必要绑定端口的
咱也签个名......
空间积分0 信誉积分100 UID阅读权限10积分19帖子精华可用积分19 专家积分0 在线时间0 小时注册时间最后登录
白手起家, 积分 19, 距离下一级还需 181 积分
帖子主题精华可用积分19 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
为什么这个udp程序不能正常运行
客户端没有绑定么?recvfrom不是只需要指定服务端地址就可以了么?如果要在客户端指定端口,怎么指定呀?unicorns,你能不能具体说一下,帮助我这只菜鸟吧:)
空间积分0 信誉积分100 UID41991阅读权限100积分4382帖子精华可用积分4382 专家积分0 在线时间4 小时注册时间最后登录
帖子主题精华可用积分4382 专家积分0 在线时间4 小时注册时间最后登录
论坛徽章:1
为什么这个udp程序不能正常运行
请仔细的检查下面两个函数。
sendlen=sendto(sock,&cat&,3,0,(struct sockaddr *)&cli_addr,clilen);
recvfrom(sock,buf,MAXBUF,0,(struct sockaddr *)&svr_addr,&svrlen);
UDP两个端点是对等的,对于被动接收者,需要bind端口,对于主动发送者bind端口或者不bind端口都可以,显然你的例子两者bind地址都为127.0.0.1,端口发送端为5050,接受端要看你的那个结构的定义了。
空间积分0 信誉积分100 UID阅读权限10积分19帖子精华可用积分19 专家积分0 在线时间0 小时注册时间最后登录
白手起家, 积分 19, 距离下一级还需 181 积分
帖子主题精华可用积分19 专家积分0 在线时间0 小时注册时间最后登录
论坛徽章:0
为什么这个udp程序不能正常运行
蓝色键盘,我还是 不太明白——我是菜鸟,不要不耐烦:)
我在《linux网络编程技术》一书上看的udp模式是这样的,服务端一定要用bind编联地址及端口,而客户端并不需要bind.这和你说的发送端不需绑定,而接收者要绑定矛盾么?究竟是怎么回事呢?我已经头大了。
空间积分0 信誉积分100 UID41991阅读权限100积分4382帖子精华可用积分4382 专家积分0 在线时间4 小时注册时间最后登录
帖子主题精华可用积分4382 专家积分0 在线时间4 小时注册时间最后登录
论坛徽章:1
为什么这个udp程序不能正常运行
原帖由 &蓝色键盘& 发表:
请仔细的检查下面两个函数。
sendlen=sendto(sock,&cat&,3,0,(struct sockaddr *)&cli_addr,clilen);
recvfrom(sock,buf,MAXBUF,0,(struct sockaddr *)&svr_addr,&svrlen);
UDP两个端点是对等的,对于被动接收者,需要bind端口,对于主动发送者bind端口或者不bind端口都可以,显然你的例子两者bind地址都为127.0.0.1,端口发送端为5050,接受端要看你的那个结构的定义了。
一颗流星,你好,鉴于你对UDP的疑问,我觉得有必要一句一句来分析,我们只是针对UDP来分析。
你完全不用考虑什么服务端客户端这些东西,这些角色仅仅是个逻辑感念,为什么不能从根本上去理解问题呢?UDP协议给编程者提供了从应用层到传输层的接口,除非你不喜欢这些接口而去自己开发,否则,请看看sendto和recvfrom(在UDP中,还有其他的类似功能的函数,因为你的问题是基于这两个函数,所以仅仅讨论这两个函数)
sendto(sock,&cat&,3,0,(struct sockaddr *)&cli_addr,clilen); 这个函数在调用的时候,参数(struct sockaddr *)&cli_addr指明了你要发送给谁(如果你没有在sendto调用前添这个结构的话,sendto会发送数据&cat&到本地的一个临时端口上),调用该函数成功的话,就会成功的建立一个四元组。你会疑问sendto是怎么让对方知道自己是谁呢?回答这个问题,需要看看recvfrom调用。
recvfrom(sock,buf,MAXBUF,0,(struct sockaddr *)&svr_addr,&svrlen);
参数(struct sockaddr *)&svr_addr确定了这个调用接受从哪里来的数据报。和sendto一样,不难理解。如果这个地址就是上面那个参数cli_addr所对应的端点的话(注意不是cli_addr,如果调用sendto并且没有作bind,这个端点的值是随机的),那么recvfrom将会接收到,sendto发来的数据。说道这里,你一定疑问跟多了,问什么recvfrom能偏偏的接收到sendto发来的数据呢?这就是为什么被动的接收,需要bind的理由。如果还不明白的话,据个例子:两个进程A和B(假设A等着接受东西,B主动发送),A在recvfrom前,没有bind,如果参数svr_addr是有效的,那么它知道要接受谁的数据,但是它不能保证B或者A本身发送的数据一定能接收到。因为A没有bind一个端口号,这意味着如果sendto中参数cli_addr结构定义的端口只有在因为巧合而和系统给recvfrom分配的端口号相同的情况下,A才能就受到B的数据。
上面说了一堆废话,解释了“UDP两个端点是对等的,对于被动接收者,需要bind端口”。如果不明白,自己写个程序测试吧!
为什么要说“对于主动发送者bind端口或者不bind端口都可以”呢?因为就算你不bind,系统在实现的时候帮你bind了!

我要回帖

更多关于 报考这个职位的原因 的文章

 

随机推荐