日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python socket tcp_python socket 模拟tcp通讯

發布時間:2024/9/27 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python socket tcp_python socket 模拟tcp通讯 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于tcp server 端的創建而言, 分為如下步驟:

1,創建socket對象(socket):其中倆個參數分別為

Address Family(如AF_INET為ipv4),AF_INET6為ipv6,AF_UNIX為unix域協議簇).

socket類型(如SOCK_STREAM為tcp,SOCK_DGRAM為udp)

2,綁定服務器地址(bind) : 參數為服務器地址二元組 也就是套接字

3,監聽(listen): 參數為允許的連接數

4,等待請求(accpet): 建立一個連接,等待客戶端

5,接收數據(recv,recvfrom ,recvfrom_into ,recv_into)

6,發送數據(send ,senfall ,sendto)

7,關閉連接(close)

代碼:

#! /usr/bin/python

# -*- coding: utf-8 -*-

import socket

sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

server_address = ("127.0.0.1",12345)

print "Staring up on %s:%s" % server_address

sock.bind(server_address)

sock.listen(5)

while True:

print "waiting .........."

connetion,client_address = sock.accept()

try:

print "Connection from ",client_address

data = connetion.recv(1024)

print "Receive '%s'" % data

finally:

connetion.close()

對于tcp client端而言 , 分為以下幾個步驟:

1,創建socket對象( socket) : 同server端

2,連接服務器(connect) : 參數為服務器地址二元組

3,發送和接收數據: 同server端

4,關閉連接 : 同server端

代碼:

#! /usr/bin/python

# -*- coding: utf-8 -*-

import socket

sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

def check_tcp_status(ip,port):

sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

server_address = (ip,port)

print "connecting to %s:%s" % server_address,port

sock.connect(server_address)

message = raw_input("pleas input: ")

print "Sending '%s'" % message

sock.sendall(message)

print "Closing socket"

sock.close()

if __name__ == "__main__":

print check_tcp_status("127.0.0.1",12345)

總結

以上是生活随笔為你收集整理的python socket tcp_python socket 模拟tcp通讯的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。