socket程式設計

2021-07-15 12:20:43 字數 1354 閱讀 6611

#socket server

#!/usr/bin/python 

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

import socket

import os 

host='127.0.0.1'

port=4444

#1、建立socket,繫結到本地ip埠

s=socket.socket(socket.af_inet,socket.sock_stream )

s.bind((host,port))

#2、監聽

s.listen(1)

print '[*] listening %s:%d' %(host,port)

#3、接收來自客戶端的請求

def handle_client(client_socket):

request = client_socket.recv(2048)

print "[*]client is sending %s" % request

if request=='exit' :

client_socket.sendall('bye...')

os._exit(0)

client_socket.sendall('ack!')

#4、不斷接收資料和傳送資料

while true:

client_socket1,addr=s.accept()

print 'accepted connect from ',addr 

while true:

handle_client(client_socket1)

s.close()

#socket client

#!/usr/bin/python

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

import socket

#1、建立socket 連線埠

s=socket.socket(socket.af_inet, socket.sock_stream)

s.connect(('127.0.0.1',4444))

def handle_client(t):

input=raw_input('please input str:')

t.sendall(input)

data=t.recv(2048)

print 'server send data:%s' % data

if data =='bye...':

exit()

while true:

handle_client(s)

s.close()

遇到的問題:在處理server 時,需要不斷接受來自客戶端的請求。因此需要2個迴圈

socket程式設計

一直以為serversocket accept之後客戶端才能發資訊,實驗後得出如下結論 1 serversocket沒有accept時,client是可以傳送資訊到server端的。2 serversocket accept之後,正在處理訊息時,client也是可以傳送資訊到server端。如果se...

Socket程式設計

對tcp ip udp socket程式設計這些詞你不會很陌生吧?隨著網路技術的發展,這些詞充斥著我們的耳朵。那麼我想問 1.什麼是tcp ip udp?2.socket在 呢?3.socket是什麼呢?4.你會使用它們嗎?什麼是tcp ip udp?tcp ip transmission cont...

socket程式設計

建立socket 建立乙個 socket,它可用於在基於 tcp ip 的網路 如 internet 上通訊。socket s new socket addressfamily.internetwork,sockettype.stream,protocoltype.tcp 若要使用 udp 而不是 ...