C_and_CPP 板


LINE

开发平台(Platform): (Ex: Win10, Linux, ...) VS 2015 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出) C++ WIN32主控台应用程式 额外使用到的函数库(Library Used): (Ex: OpenGL, ...) client: #include <iostream> #include <string> using namespace std; #include "winsock2.h" #pragma comment(lib, "ws2_32.lib") server: #include <iostream> using namespace std; #include "winsock2.h" #pragma comment(lib, "ws2_32.lib") 问题(Question): 我写了一对socket的小程式 client利用server的IP跟port来通讯 client在连线後输入任意字元 server收到之後回传给client client显示server的回传 原程式运作OK 现client增新宣告及新程式段 char IP_char[17]; cout << "please key in IP:"; cin >> IP_char; cout << "\n"; //换行 原serverIP宣告 servAddr.sin_addr.s_addr = inet_addr("36.227.47.199"); 改为 servAddr.sin_addr.s_addr = inet_addr(IP_char); 另持续给使用者输入文字用程式段的while回圈为 while(1) { ZeroMemory(str, BUF_SIZE); cout << "you key in :"; cin.getline(str, BUF_SIZE); //向服务器发送数据 ZeroMemory(buf, BUF_SIZE); strcpy_s(buf, str); retVal = send(sHost, buf, strlen(buf), 0); if (SOCKET_ERROR == retVal) { cout << "send failed!\n"; closesocket(sHost); //关闭Socket WSACleanup(); //释放Socket资源 system("pause"); return -1; } cout <<"server echo : "; retVal = recv(sHost, buf, BUF_SIZE, 0); cout << buf << endl; //输出由Server端传送的字串 if (!strcmp(buf,"bye")) break; } 最後发现cin.getline的指令疑似被略过 client及server端变成如图片 http://i.imgur.com/31lho1j.jpg
http://i.imgur.com/1gy0EDA.jpg
喂入的资料(Input): 预期的正确结果(Expected Output): please key in IP:36.227.47.199 you key in :hello world server echo:hello world 错误结果(Wrong Output): 如上 程式码(Code):(请善用置底文网页, 记得排版) http://ideone.com/rbt8e7 http://ideone.com/YIvrfH 补充说明(Supplement): 请鞭小力点(跪 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.227.47.199
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1479530614.A.0D8.html ※ 编辑: airawesu (36.227.47.199), 11/19/2016 12:44:57
1F:→ Schottky: 会不会是卡在 connect,server 连不上11/19 13:29
2F:推 Qbsuran: 先用wireshark看连线有没有正常送出11/19 17:51
3F:→ Schottky: socket 出问题不一定是出在程式上11/19 18:05
4F:→ Schottky: wireshark 或 tcpdump 之类的 sniffer 确实会有需要11/19 18:06
5F:推 fanntone: 你应该是参考网路上XYZ那篇写的 先把main一开始就包进11/19 21:25
6F:→ fanntone: while回圈就可以一直输入了11/19 21:26
我很确定SERVER可以连上 把整个main内的程式都包进去吗 我现在还不行Q_Q ※ 编辑: airawesu (36.227.47.199), 11/19/2016 23:17:40 现在可以了 不修改while回圈位置 我把cin>>IP_char; 改成cin.getline(IP_char,17); 功能就OK了 可正常使用 但有大神知道这是为什麽吗 http://i.imgur.com/g6FJh0w.jpg
※ 编辑: airawesu (36.227.47.199), 11/19/2016 23:27:01
7F:推 johnpage: 数值与字串11/20 06:08
我蠢透了 ※ 编辑: airawesu (114.136.26.93), 11/20/2016 08:59:22







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP