socket程式設計TCP

2021-07-24 19:49:17 字數 1434 閱讀 8309

注意一定要先啟動server,再啟動client,否則client因為無法找到server而丟擲異常

# coding=utf-8

from socket import *

serverport = 12000

# af_inet表示底層網路使用的是ipv4, sock_stream表示使用的socket型別是tcp

serversocket = socket(af_inet, sock_stream)

# 繫結伺服器的埠號

serversocket.bind(('', serverport))

# 設定請求連線的最大數(>0)

serversocket.listen(1)

print

'the server is ready to recieve'

while

1: # 阻塞程式,等待tcp client的connect,以完成三次握手

connectionsocket, addr = serversocket.accept()

# 從ciletn出接受位元組流,最大為1024b

sentence = connectionsocket.recv(1024)

capitalizedsentence = sentence.upper()

# 向client傳送位元組流

connectionsocket.send(capitalizedsentence)

# 關閉連線

connectionsocket.close()

# coding=utf-8

from socket import *

servername = '127.0.0.1'

serverport = 12000

# af_inet表示底層網路使用的是ipv4, sock_stream表示使用的socket型別是tcp

clientsocket = socket(af_inet, sock_stream)

# 三次握手,嘗試建立tcp連線,如果失敗會丟擲異常

clientsocket.connect((servername, serverport))

sentence = raw_input('input lowercase sentence:')

# 傳送出位元組流給伺服器

clientsocket.send(sentence)

# 從伺服器接受資訊,會阻塞程式,1024表示快取的最大大小是1024b

modifiedsentence = clientsocket.recv(1024)

print

'from server:', modifiedsentence

# 關閉套接字,傳送最後一條tcp保文

clientsocket.close()

Socket 程式設計(TCP)

詳細請參見 點我o o哈!很不錯的一篇文章哈 下面是接收資料和傳送資料的函式 int receive socket fd,char sztext,int len if rc 0 return len cnt sztext rc cnt rc return len int send socket fd...

Socket 程式設計(TCP)

下面是接收資料和傳送資料的函式 cpp view plain copy intreceive socket fd,char sztext,intlen if rc 0 return len cnt sztext rc cnt rc return len int send socket fd,char...

socket程式設計 TCP

socket本身有 插座 的意思,在linux環境下,用於表示程序間網路通訊的特殊檔案型別。本質為核心借助緩衝區形成的偽檔案。既然是檔案,那麼理所當然的,我們可以使用檔案描述符引用套接字。與管道類似的,linux系統將其封裝成檔案的目的是為了統一介面,使得讀寫套接字和讀寫檔案的操作一致。區別是管道主...