oob_send.c
#include
#include
#include
#include
#include
#include
#define bug_size 30
void
error_handling
(char
* message)
;int
main
(int argc,
char
* ar**)
int sock;
struct sockaddr_in recv_addr;
sock =
socket
(pf_inet, sock_stream,0)
;memset
(&recv_addr,0,
sizeof
(recv_addr));
recv_addr.sin_family = af_inet;
recv_addr.sin_addr.s_addr =
inet_addr
(ar**[1]
);recv_addr.sin_port =
htons
(atoi
(ar**[2]
));if
(connect
(sock,
(struct sockaddr*
)&recv_addr,
sizeof
(recv_addr))==
-1)write
(sock,
"123"
,strlen
("123"))
;send
(sock,
"4",
strlen
("1"
), msg_oob)
;write
(sock,
"567"
,strlen
("567"))
;send
(sock,
"890"
,strlen
("890"
), msg_oob)
;close
(sock)
;return0;
}
oob_recv.c
#include
#include
#include
#include
#include
#include
#include
#include
#define buf_size 30
void
error_handler
(char
* message)
;void
urg_handler
(int signo)
;int accept_sock;
int recv_sock;
intmain
(int argc,
char
* ar**)
act.sa_handler = urg_handler;
sigemptyset
(&act.sa_mask)
; act.sa_flags =0;
accept_sock =
socket
(pf_inet, sock_stream,0)
;memset
(&recv_addr,0,
sizeof
(recv_addr));
recv_addr.sin_family = af_inet;
recv_addr.sin_addr.s_addr =
htonl
(inaddr_any)
; recv_addr.sin_port =
htons
(atoi
(ar**[1]
));if
(bind
(accept_sock,
(struct sockaddr*
)&recv_addr,
sizeof
(recv_addr))==
-1)listen
(accept_sock,5)
; serv_len =
sizeof
(recv_addr)
; recv_sock =
accept
(accept_sock,
(struct sockaddr*
)&serv_addr,
&serv_len)
;//指定訊號由那個程序處理,因為乙個套接字可以被多個程序使用
fcntl
(recv_sock, f_setown,
getpid()
);int state =
sigaction
(sigurg,
&act,0)
;int str_len =0;
while
((str_len =
recv
(recv_sock, buf,
sizeof
(buf),0
))!=0
) buf[str_len]=0
;puts
(buf);}
close
(recv_sock)
;close
(accept_sock)
;return0;
}void
urg_handler
(int signo)
void
error_handler
(char
* message)
msg_oob模式並不會加快傳輸速度,而且每次msg_oob只能接收1個位元組,緊急訊息只是督促接收方盡快處理,所以後續的資料需要使用常規的方式讀取 TCP協議接收與傳送資料
tcp 建立連線通道 資料無限制 速度慢可靠 tcp協議傳送資料 1 建立傳送端的socket物件 這一步如果成功,就說明連線已經建立成功了。2 獲取輸出流,寫資料 3 釋放資源 public static void main string args throws ioexception tcp協議...
pyhon網路程式設計使用tcp傳送 接收資料
1 建立套接字 2 繫結本地埠 客戶端也就可以不繫結,不繫結時系統隨機開啟乙個埠 3 連線伺服器位址 4 傳送或接收伺服器資料 5 關閉套接字 tcp傳送資料例項 import socket 定義伺服器連線函式 def tcpclient to sever tcp soctet tcp soctet...
C 使用Socket傳送和接收TCP資料例項
具體程式 如下 複製 如下 using system using system.collections.generic using system.net using system.net.sockets using system.text namespace consoleapplication1 ...