乙個socket小程式

2021-03-31 08:56:31 字數 1760 閱讀 6343

一直對c/c++下的socket程式設計必是很熟悉,今天終於完成了乙個很簡單的server/client程式

伺服器:

#include

#include

#pragma ***ment( lib, "ws2_32.lib" )

using namespace std;

const int my_error = -1;

int main( )

//建立乙個socket->bind->listen->accept(阻塞)

socket server;

server = socket(af_i***, sock_stream, ipproto_tcp);

if(server==invalid_socket)

sockaddr_in local;

memset(&local, 0, sizeof(local));

local.sin_family = af_i***;

local.sin_port = htons(8080);

local.sin_addr.s_un.s_addr = htonl(inaddr_any);

if( bind(server, (sockaddr*)(&local), sizeof(local))!=0 )

if( listen(server, 10)!=0 )

socket client;

sockaddr_in from;

int fromlen = sizeof(from);

memset(&from, 0, fromlen);

cout<<"waiting for connect..."

sprintf(temp,"your ip is %s/r/n",i***_ntoa(from.sin_addr));

send(client, temp, strlen(temp), 0);

cout << "connection from " << i***_ntoa(from.sin_addr) <<"/r/n";

closesocket(client);

closesocket(server);

wsacleanup();

return 0;

}客戶端

#include

#include

#pragma ***ment( lib, "ws2_32.lib" )

using namespace std;

const int my_error = -1;

int main( )

socket conn;

conn = socket(af_i***, sock_stream, ipproto_tcp);

if(conn == invalid_socket)

sockaddr_in server;

memset(&server, 0, sizeof(server));

server.sin_family = af_i***;

server.sin_port = htons(8080);

server.sin_addr.s_un.s_addr = i***_addr("192.168.1.99");

if(connect(conn, (sockaddr*)(&server), sizeof(server))!=0 )

closesocket(conn);

wsacleanup();

return 0;

}

乙個java小程式

能讓阿拉伯數字讀成符合漢語語法和漢語習慣的中文.就這我 還做了一天呢 鬱悶.public class itcs string unit1 new string string unit2 new string string str args 0 string str 2 null system.out...

乙個日曆小程式

include define sunday 0 define monday 1 define tuesday 2 define wednesday 3 define thursday 4 define friday 5 define saturday 6 void giveinstructions ...

乙個彙編小程式

assume cs code,ds data,es table,ss stack stack segment stack db 16 dup 0 stack ends data segment db 1975 1976 1977 1978 1979 1980 1995 dd 16,22,382,13...