socket的send函式返回-1(WSAGetLastError返回10057)?
問題現象:今天寫一個socket服務端,客戶端connect成功,服務端accept成功,能接收到服務端資料,但就是傳送給客戶端資料時send返回-1。
網上查了查用 WSAGetLastError
ret1= send(sd, buf, 4, 0);
ret2 =WSAGetLastError();
ret1返回-1,ret2返回10057,網上說10057是未連線,但的確是連線了,鬱悶!
後來突然發現send的第一個引數填錯了,第一個應該是accept的返回值,而不是建立socket的返回值,修改後ret1返回4,ret2返回0.
百科上這樣說明:
向一個已連線的套介面傳送資料。
int PASCAL FAR send( SOCKET s, const char FAR* buf, int len, int flags);
s:一個用於標識已連線套介面的描述字。
buf:包含待發送資料的緩衝區。
len:緩衝區中資料的長度。
flags:呼叫執行方式。
相關推薦
socket的send函式返回-1(WSAGetLastError返回10057)?
問題現象:今天寫一個socket服務端,客戶端connect成功,服務端accept成功,能接收到服務端資料,但就是傳送給客戶端資料時send返回-1。 網上查了查用 WSAGetLastError ret1= send(sd, buf, 4, 0); ret2 =W
在一個字串中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫)
題目:在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 思路:建立資料結構HashMap,可以記錄每個字元對應出現的次數,之後遍歷字串,將對應的值儲存在HashMa
在整型有序陣列中查詢想要的數字, 找到了返回下標,找不到返回-1.(折半查詢)
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int BinarySearch(int a[], int key, int len) { int ret = -1;//找
linux多執行緒環境下的搶屍行為(system返回-1:No child processes)
#!/usr/bin/env python #coding:utf8 import os import time pid = os.fork() if pid: print 'in parent.sleepin....' while True:
*(5)輸入互不相同的一組整數,構造一棵二叉排序樹,要求: ① 按遞減有序的順序輸出; ② 輸入一個整數,查詢該整數是否在該二叉排序樹中,查詢成功返回1,否則返回0; ③ 在②中,若查詢成功,則將該結
/*(5)輸入互不相同的一組整數,構造一棵二叉排序樹,要求: ① 按遞減有序的順序輸出; ② 輸入一個整數,查詢該整數是否在該二叉排序樹中,查詢成功返回1,否則返回0; ③ 在②中,若查詢成功,則將該結點從二叉排序樹中刪除。 */ #include<stdio.h&g
【C語言】寫程式碼可以在整型有序陣列中查詢想要的數字,找到了返回下標,找不到返回-1.(折半查詢)
定義一個數組,設定它的左右下標,同時定義一箇中間下標mid,每次進行折半查詢,若要查詢的數比mid小,則右下標等於mid-1,若要查詢的數比mid大,則左下標等於mid+1。若要查詢的數等於mid,則迴圈停止。 #include<stdio.h> #include<string
編寫函式,判斷year是否為閏年,若是則返回1,否則返回0
#include <iostream> using namespace std; int hhh(int year) {int x;if (year % 100 != 0 && year % 4 == 0 || year % 100 == 0 &
C語言中函式的思考(可以返回區域性變數嗎)
一般的來說,函式是可以返回區域性變數的。 區域性變數的作用域只在函式內部,在函式返回後,區域性變數的記憶體已經釋放了。因此,如果函式返回的是區域性變數的值,不涉及地址,程式不會出錯。但是如果返回的是區域性變數的地址(指標)的話,程式執行後會出錯。因為函式只是把指標複製後返
java呼叫命令提示符並返回結果(中文無亂碼)
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import
SpringMVC之全域性異常處理 ——統一返回格式(自定義異常)
SpringMVC之全域性異常處理 老規矩開篇咱們先介紹一下背景 因當前APP越來越流行,或是提供的第三方介面等等都需要你來統一返回格式。這個時候問題就來了 ,很多時候系統的異常以及為了程式碼的可讀性我們必然會抽出很多的間接層(例如資料格式校驗、資料有效性校驗等),一層層的retur
【轉載++】fopen返回0(空指標NULL)且GetLastError是0
結論來看,是一個簡單又樸素的道理——開啟檔案控制代碼用完了得給關上。表現在現象上卻是著實讓人費解,以至於有人還懷疑起了微軟的Winodws系統來了,可笑至極。還是那句話,先把自己的屁股先給擦乾淨嘍再懷疑別人吧! 引申到另一個話題 ,一個較大型程式存在此類檔案控制代碼耗盡的問題,該如何去排查呢?一個簡單原始的
Beginng_Rust(譯):定義通用函式和結構(第十章)(完+1)
在本章中,您將學習: •如何編寫單個函式定義,其呼叫可以有效地處理不同的資料型別 •如何使用型別推斷來避免指定使用的型別 通用功能 •如何編寫單個struct,tuple-struct或enum型別,其例項可以包含有效的不同資料型別 •如何使用兩個重要的標準通用
智慧卡上電後返回ATR(即復位應答)時間過長而無法返ATR的解決方案
關於智慧卡片上電後返回ATR時間過長的問題,是在COS開發完成後的智慧卡相容性測試過程中發現的,不同讀卡器廠商均應遵循ISO7816接觸卡協議來設計接觸型讀卡器,理論上ATR響應時間是一樣的,不過實測之後有一定的差距。這也導致了載入開發COS的智慧IC卡在某些讀
JQ實現點選返回頂部(有動畫過渡)
$(function(){ //當滾動條的位置處於距頂部100畫素以下時,跳轉連結出現,否則消失 $(function () { $(window).scroll(function(){ if ($(window).sc
callable介面配合ExecutorService實現多執行緒處理資料,並接收返回值(2018-08-23)
/** * @author chenzhen * Created by chenzhen on 2018/8/22. */ @Data public class QuickPullGit implements Callable<ArrayList&l
JS監聽手機的物理返回鍵(親測有效)
自己弄一個專案,需要用到JS監聽物理返回鍵,網上找了發現大部分人都說無法監聽。後面再一個博主那看到一個方法,試了一下可以,特意發出來供大家參考。程式碼如下 if(window.history && window.history.pushState) { $
計算閏年, 根據年份和月份返回天數(3種方法)
翻閱筆記系列 看以前的筆記,感覺就是 我以前還了解過這個。。。 計算閏年 int year; scanf("%d",&year); bool bFlag = year%(year%1
判斷無向圖中頂點u與v之間是否存在長度為len的簡單路徑,存在返回1不存在返回0
注:程式碼沒寫註釋為了看著清爽點,不懂的地方大家隨時留言給我,互相交流學習。 #include <stdio.h> #include <stdlib.h> #define maxsize 20 typedef struct{ int no
Linux學習筆記6_基本命令復習1(alias unalias sourse)
linuxaliasunaliasalias 查看當前命令的宏定義狀態unalias [command] 取消某命令的宏定義(內存操作,非修改宏定義源文件,重啟失效)若想使用已重命名命令的原始命令,在命令前加“\”反斜杠符號即可,或使用命令的絕對地址調用。例:cp命令,在目的地址有同名文件時,會提示是否覆蓋粘
SpringBoot入門-1(Hello Word Boot)
eas hand running 頁面 .cn tpm 2.3 src size 1、創建一個Maven項目,添加一個parent,代碼如下 <parent> <groupId>org.springframework.boot