伺服器端
#include
#include
using namespace std;
#include
#define buf_size 64
#pragma comment(lib,"ws2_32.lib")
int main()
//建立監聽的socket
sserver=socket(af_inet,sock_stream,ipproto_tcp);
if(invalid_socket==sserver)
//設定伺服器socket位址
sockaddr_in addrserv;
addrserv.sin_family=af_inet;
addrserv.sin_port=htons(9990);
addrserv.sin_addr.s_un.s_addr=htonl(inaddr_any);
//繫結sockets server
retval=bind(sserver,(const struct sockaddr*)&addrserv,sizeof(sockaddr_in));
if(socket_error==retval)
//在sockets server上進行監聽
retval=listen(sserver,1);
if(socket_error==retval)
//設定socket為非阻塞模式
int imode = 1;
retval = ioctlsocket(sserver,fionbio,(u_long far*) &imode);
if(retval == socket_error)
//接受來自客戶端的請求
printf("tcpserver start...\n");
sockaddr_in addrclient;
int addrclientlen=sizeof(addrclient);
while(true)
else
}break;
}while(true)
else if(err == wsaetimedout || err == wsaenetdown)
}systemtime st;
getlocaltime(&st);
char sdatetime[30];
sprintf(sdatetime,"%4d-%2d-%2d-%2d:%2d:%2d:%2d",st.wyear,st.wmonth,st.wday,st.whour,st.wminute,st.wsecond);
//列印輸出的資訊
printf("%s,recv from client [%s:%d]:%s\n",sdatetime,inet_ntoa(addrclient.sin_addr),addrclient.sin_port,buf);
//如果客戶端傳送quit字串,則伺服器退出
if(strcmp(buf,"quit")==1)//
//否則向客戶端傳送回顯字串
else
else}}
break;}}
客戶端客戶端
程式設計,還是程式設計
喜歡程式設計,雖然水平一般,但還是執著地學習與程式設計有關的知識。中間因為工作關係與程式設計遠離了一段時間,現在又重拾起來,細想起來還是因為喜歡吧。喜歡程式軟體的思想和原理,喜歡程式 的魅力和成就感。程式設計軟體的思想是最值得學習的,一直認為思想決定行動,思想改變世界。每種軟體的流行和受人追捧,無不...
少兒程式設計程式設計
機械人比賽,聽上去讓人有一種高大上的科技感,沒錯,在大多數人眼裡,玩機械人那是科學家做的事情,不過隨著機械人教育的普及,越來越多的孩子也能夠駕馭這高大上的機械人。格物斯坦小坦克告訴你原因,這是歸結於孩子對於程式設計課程的學習,學會對機械人進行程式設計了,自然就能玩轉機械人啦。參加機械人比賽的意義遠遠...
LINUX程式設計 socket程式設計
什麼是套接字 套接字是一種通訊過程,它使客戶 伺服器系統的開發工作既可以在本地單機上進行,也可以跨網路進行。套接字建立過程 1,建立乙個套接字,這是分配給該伺服器程序的乙個作業系統資源,套接字由伺服器通過系統呼叫socket建立出來的,所以其它程序將不能對它進行訪問。2,給套接字起個名字,用系統呼叫...